The Commonplace
Home Papers Evidence Explore Trends Syntheses Digests References Docs 🎲 Workforce Futures
← Papers
Direction, evidence grade, and study type are AI-generated labels (gpt-5-mini), not human-verified. Syntheses are LLM-written. "Tensions" are machine-detected candidates, not confirmed contradictions. A research-acceleration tool, not peer review. How this is built →

A new open corpus maps how developer-written and AI-drafted specifications drive code: SPECMINE records 470,795 spec files (plus 98,574 Kiro artifacts), full commit histories, 5,992 spec-touching pull requests, and a 2.4 million–item traceability index across 73,030 public GitHub repositories. Released with reproducible snapshots and rich structural features, it lets researchers trace spec→code workflows and study human–AI collaboration at scale.

SPECMINE: A Large-Scale Corpus of Spec-Driven Development Artifacts
Shyam Agarwal, Bogdan Vasilescu · August 25, 2026
arxiv descriptive n/a evidence 7/10 relevance Full text usable extracted full text Source PDF

Structured author observations

Linked only from stored provider relations; the raw author line above is never matched by name.

Arxiv

Latest observation:

  1. Shyam Agarwal unresolved corpus identity
  2. Bogdan Vasilescu unresolved corpus identity

Semantic Scholar

Latest observation:

  1. Shyam Agarwal provider ID
  2. Bogdan Vasilescu provider ID
SPECMINE is a reproducible, large-scale corpus of spec-driven development artifacts — 470,795 specs across 73,030 GitHub repositories plus Kiro artifacts, per-file commit histories, structural features, a subsample of 5,992 spec-touching PRs, and a 2.4M-item traceability index — enabling study of how natural-language specs (often aided by AI tools) map to code.

Citation observations

Cumulative provider counts captured on specific dates; providers are never combined.

Spec-Driven Development (SDD) is a fast-emerging practice in which a structured natural-language specification, written by a developer, or (more often) drafted by an AI tool and then curated by the developer, drives an AI coding agent's implementation. A wave of tooling (GitHub Spec Kit [3], OpenSpec [4], AWS Kiro [5], and dozens of others) has appeared since 2025, yet the artifacts these tools produce have never been studied at scale. We present SPECMINE, a corpus that captures SDD in public GitHub repositories through two censuses: a broad census of spec.md/specs.md files covering most tools (470,795 files across 73,030 repositories, attributed to 17 named tools), and a Kiro census of its distinct requirements/design/tasks layout (98,574 files across 12,910 repositories). Each spec is enriched with full repository metadata, complete commit history, and parsed document structure. How a spec becomes code is itself an open question, so for 11 tools we sweep every pull request that touches a spec in their repositories with at least ten stars, capturing 5,992 such PRs across 581 repositories with their changesets. That makes the simplest workflow, spec and implementation changing together in one PR, directly observable, and a census-wide index of 2,421,323 typed references (1.28M to code files, 863k to sibling documents, 152k to PRs, 62k refs, 43k branches, 22k issues) gives a second, independent link from spec to code. SPECMINE lets the community study, for the first time, how software is specified in the age of AI agents.

Summary

Main Finding

SPECMINE v1.0 is the first large-scale, public corpus of Spec-Driven Development (SDD) artifacts that treats the natural‑language specification as a first‑class unit and links it to code. The release (July 2026 snapshot) captures the “intent” layer produced by ~18 SDD tools and provides two independent channels from spec → implementation (co-change PRs and a traceability index), enabling empirical study of how AI-assisted specs drive software production at scale.

Key Points

  • What SDD is: developers (often aided by AI) place structured specifications in repository files (spec.md, or tool-specific layouts like Kiro’s .kiro/specs/). AI agents then generate or modify code from those specs.
  • Scale & scope (v1.0 snapshot):
    • 470,795 spec files (broad filename census) across 73,030 repositories and 44,521 owners.
    • 98,574 Kiro artifacts across 12,910 repositories (separately censused).
    • 468,307 spec files annotated with 39 structural features (headings, EARS/Gherkin markers, TODOs, etc.).
    • 780,335 total spec-file commits (full commit histories available).
    • 5,992 pull requests that touch spec files (11 tools swept; sample of repos with ≥10 stars) across 581 repositories; 81.2% of those PRs also modify code in the same PR.
    • Traceability index: 2,421,323 typed references (1.28M to code files, 863k to sibling docs, 152k to PRs, etc.); OpenSpec task→code resolvable references: 435,401 (resolved against repo tree at anchor commit).
    • Temporal concentration: 99.7% of specs first committed in 2025+, 92% in 2026 → captures the birth and rapid adoption window.
    • Dataset size: curated release ≈14.7 GB; licensed repos: 28,698; repos with ≥100 stars: 923.
  • Data products & access:
    • Zenodo archive with DOI (10.5281/zenodo.22102779): MySQL dump + CSV/Parquet + JSONL of spec contents.
    • Hugging Face Parquet mirror: https://huggingface.co/datasets/ShyAgarwal/specmine
    • GitHub repo with schema, loader scripts, and 500-repo sample: https://github.com/shyamagarwal13/specmine-official
  • Validation & provenance:
    • Tool attribution via path‑fingerprints; small manual check (30 specs across 10 tools) found correct attribution.
    • Construction is idempotent/deterministic; filtered out non-spec scaffolding (e.g., package caches).
  • Limitations noted by authors:
    • PR layer is a subsample (repositories with ≥10 stars for 11 tools), not a full census.
    • GitHub code-search caps (1,000 results) — they use adaptive partitioning; reachable set may be a strict subset of all matching files.
    • Some artifacts are auto-generated (e.g., caffeine.ai repositories) and may need filtering depending on study goals.

Data & Methods

  • Two complementary censuses:
  • Broad filename census: search for spec.md/specs.md to recover most SDD tools (470,795 files). Each row includes repository metadata, file/commit provenance, raw content, and tool attribution (spec_tool/spec_role).
  • Kiro census: targeted discovery of .kiro/specs/{requirements,design,tasks}.md layout (98,574 artifacts).
  • PR layer (implementation channel): exhaustive capture of every PR touching a spec file for 11 tools across repositories with ≥10 stars. Each PR has per-file changesets flagged is_spec/is_code. Result: 5,992 spec-touching PRs, 348,141 per-file diff rows captured.
  • Traceability index: assembled links from spec text, commit messages, tasks.md, and folder git trees; typed by relation and provenance. For OpenSpec tasks.md, task→code references were resolved against the git tree at the anchoring commit.
  • Structural features: 39 parsed features per spec (heading structure, counts of code/tables/diagrams, requirement-template markers, placeholders/TODOs, etc.).
  • Storage & formats: relational MySQL schema (57 tables, 815 columns) plus CSV/Parquet exports and JSONL for spec contents. Sample and loading scripts provided; recommended use with SQL, DuckDB, pandas/polars.
  • Ethical & licensing handling: only public GitHub data collected under API terms. Release preserves repo license metadata; commit emails and some profile fields removed. SPECMINE compiled release under CC BY 4.0; users should respect original repo licenses when redistributing or using derived products.

Implications for AI Economics

SPECMINE creates a rich empirical substrate for economic questions about AI tools, labor, and innovation in software production. Key opportunities and suggested research angles:

  • Adoption, diffusion, and market structure

    • Map adoption of SDD tools across ecosystems, languages, and organizations; estimate diffusion rates and network effects among repositories/orgs.
    • Study competition and coexistence among tool families (Kiro, Spec Kit, OpenSpec, etc.): determinants of market share and path dependence.
    • Use event‑study designs around tool releases/announcements to identify causal adoption effects.
  • Labor substitution, task allocation, and complementarities

    • Measure how much specification work is human vs agent (authorship signals, template vs custom content) and how this changes labor composition.
    • Quantify task reallocation: are humans shifting from low‑level coding to spec writing/review/curation? Compare PR sizes, review effort, and follow-up fixes conditional on spec presence/quality.
    • Estimate complementarity vs substitutability between human engineers and AI agents using productivity outcomes (time-to-merge, PR iteration counts, bug-fix rates).
  • Productivity, quality, and returns to AI tooling

    • Test whether higher-quality specs (operationalized via the 39 structural features, absence of placeholders, testability markers) predict faster or fewer-fix implementations, smaller PR churn, or higher merge success.
    • Regression or matched‑sample analyses: control for repo maturity, stars, language, team size to estimate effect of SDD adoption on engineering throughput.
    • Instrumental variables or difference-in-differences exploiting staggered adoption/availability of tools to estimate causal effects on productivity.
  • Innovation, modularity, and re-use

    • Measure template reuse vs project-specific spec content to infer returns to scale in specification engineering and potential for SDD-based productization.
    • Analyze patterns where specs name files that never appear (unimplemented tasks) to study waste, speculative design, or idea filtering.
  • Governance, incentives, and regulation

    • Study licensing and IP questions: frequency of specs in repos with permissive vs restrictive licenses; potential leak vectors when AI drafts specs from private prompts (policy relevance).
    • Investigate how review and accountability operate when the “artifact under discussion” is the spec (not code): who signs off, dispute resolution, and audit trails.
  • Methods & identification suggestions

    • Suggested causal strategies: event studies (tool launches, major updates), repo fixed effects, staggered DiD, synthetic controls, and IVs based on exogenous exposure (e.g., GitHub feature rollouts, region/time-limited tool availability).
    • For micro-level causal claims about agent vs human authorship, combine automated authorship classification with manual validation and consider regression discontinuity (e.g., thresholds for tool adoption) or matched comparisons of otherwise similar repos.
  • Policy and macro implications

    • SPECMINE enables measurement of aggregate trends: rate at which AI-generated intent displaces or complements developer labor, which feeds into labor-market forecasting for software engineers and policy on reskilling.
    • Platform competition: empirical evidence on lock-in, template homogenization, and standards convergence could inform regulation of dominant SDD tool providers.

Caveats for economic inference - Sampling and external validity: the PR layer is a targeted subsample (repos ≥10 stars for 11 tools). Many captured repositories are low-star / experimental — careful filters and robustness checks are necessary before generalizing. - Measurement error: tool attribution is path-fingerprint based and was spot-checked; task→code resolution is possible only where tasks name files or PRs are referenceable, and co-change heuristics are imperfect. - Timing & causality: specs and code can be written in various orders (spec-first, implementation-first, co-change). Use pre-trends and repo fixed effects to reduce reverse causality bias.

Overall, SPECMINE offers an unprecedented, directly usable dataset for rigorous empirical research on how AI agents change the economics of software production — from micro productivities and task allocation to market dynamics of tooling and implications for labor markets and regulation.

Assessment

Paper Typedescriptive Evidence Strengthn/a — This is a dataset / resource paper and does not make causal claims or test hypotheses; it provides primary data rather than empirical causal evidence. Methods Rigorhigh — Data-collection procedures are documented in detail (adaptive partitioning to avoid GitHub search caps, idempotence/determinism checks, explicit filtering with reversible flags), manual validation checks, schema and data dictionary provided, and multiple release formats (MySQL, Parquet, JSONL) with sample and reproducible snapshot on Zenodo; limitations and sampling rules (PR layer subsample, API caps) are transparently described. SampleSPECMINE v1.0 (July 2026 snapshot) collects spec-driven development artifacts from public GitHub: a broad filename census of 470,795 spec.md/specs.md files across 73,030 repositories (17 named SDD tools identified by path fingerprints), a Kiro-specific census of 98,574 requirements/design/tasks files across 12,910 repos, full per-spec commit histories (780,335 commits), 39 parsed structural features for ~468k specs, a PR layer of 5,992 spec-touching pull requests across 581 repositories (subsample: repositories with ≥10 stars for 11 tools), and a traceability index of 2,421,323 typed references including 435,401 resolved OpenSpec task→code references; released as MySQL dump, Parquet/CSV, JSONL, with Zenodo DOI and GitHub mirror; all artifacts drawn from public repositories and released under CC BY 4.0. Themeshuman_ai_collab adoption productivity org_design GeneralizabilityGitHub-only and public-repo-only coverage excludes private enterprise repositories and non-GitHub ecosystems (GitLab, Bitbucket, internal tools)., Temporal concentration: 99.7% of specs first committed in 2025+ (92% in 2026), so captures early/emergent practice that may evolve rapidly., Filename/layout–based discovery may miss specs stored under nonstandard paths or proprietary layouts; adaptive partitioning may still yield a reachable subset rather than the complete population., PR layer is a non-representative subsample (repositories ≥10 stars for 11 tools); results from that layer should not be extrapolated to the full census without care., Dataset contains many small/tutorial/template repositories (only 923 repos have ≥100 stars), so analyses must filter by maturity to study production-grade workflows., Large-PR and API caps (3,000-file-per-PR change set truncation) can truncate some changesets; very large or unusual workflows may be under-captured., Attribution to tools uses path fingerprints and templates; while manually spot-checked, edge cases or nonstandard uses may be misattributed.

Claims (11)

ClaimDirectionOutcomeConfidence & EvidenceDetails
SPECMINE’s broad census contains 470,795 spec files across 73,030 public GitHub repositories, covering 17 named SDD tools. Adoption Rate positive Size and cross-tool adoption of the SDD corpus
Reading fidelity high
Study strength high
n=73030
470,795 files across 73,030 repositories
0.3
The separate Kiro census contains 98,574 artifacts across 12,910 repositories. Adoption Rate positive Kiro SDD artifact adoption and corpus coverage
Reading fidelity high
Study strength high
n=12910
98,574 artifacts across 12,910 repositories
0.3
The pull-request layer contains 5,992 spec-touching pull requests across 581 repositories. Other positive Observed linkage between specifications and implementation pull requests
Reading fidelity high
Study strength high
n=5992
5,992 spec-touching pull requests across 581 repositories
0.3
Among the captured spec-touching pull requests, 81.2% also modify code in the same pull request. Task Allocation positive Co-change of specification and code within the same pull request
Reading fidelity high
Study strength medium
n=5992
81.2%
0.18
SPECMINE contains a census-wide index of 2,421,323 typed references, including references to code files, sibling documents, pull requests, refs, branches, and issues. Other positive Traceability coverage between specifications and software-development artifacts
Reading fidelity high
Study strength high
n=2421323
2,421,323 typed references
0.3
The traceability index includes approximately 1.28 million references to code files, 863,000 to sibling documents, 152,000 to pull requests, 62,000 to refs, 43,000 to branches, and 22,000 to issues. Other positive Distribution of specification traceability links
Reading fidelity high
Study strength high
n=2421323
1.28M to code files, 863k to sibling documents, 152k to PRs, 62k refs, 43k branches, 22k issues
0.3
SPECMINE resolves 435,401 OpenSpec task-to-code references against the repository Git tree at the anchoring commit. Other positive Availability and resolution of specified code targets
Reading fidelity high
Study strength high
n=435401
435,401 references
0.3
Nearly all specifications in the corpus were first committed in 2025 or later: 99.7% were first committed in 2025 or later and 92% in 2026. Adoption Rate positive Temporal emergence of SDD practice
Reading fidelity high
Study strength high
n=470795
99.7% first committed in 2025 or later; 92% in 2026
0.3
The corpus includes complete per-spec commit histories totaling 780,335 spec-file commits. Other positive Availability of longitudinal specification-history data
Reading fidelity high
Study strength high
n=780335
780,335 spec-file commits
0.3
Structural and requirement-template features are available for 468,307 specification files, with 39 features per file. Output Quality positive Availability of measurable specification-structure and quality indicators
Reading fidelity high
Study strength high
n=468307
39 features across 468,307 files
0.3
A manual validation of tool attribution found the attribution correct for all 30 sampled specifications spanning ten named tools. Other positive Accuracy of SDD-tool attribution
Reading fidelity high
Study strength medium
n=30
100% correct attribution in the manual check
0.18

Notes