An open, verified dataset for coding, science, mathematics, and human reasoning.
Provenance-aware. License-gated. Independently checked. Reproducible.
Open Reason does not use Reddit as a data source. Case study: docs/why-not-reddit.md · project site.
| What | URL |
|---|---|
| GitHub (pipeline, tests, samples) | https://github.com/theworker02/open-reason |
| Dataset (full shards) | https://huggingface.co/datasets/theworker02/open-reason |
| Small model (~1.3M params, CPU) | https://huggingface.co/theworker02/open-reason-small |
| Medium model (13,867,008 params, CPU) | https://huggingface.co/theworker02/open-reason-medium |
| Large model (91,544,064 params, CPU) | https://huggingface.co/theworker02/open-reason-large |
| XL model (443,719,680 params, CPU) | https://huggingface.co/theworker02/open-reason-xl |
| Site | https://theworker02.github.io/open-reason/ |
Full Parquet/JSONL shards are on Hugging Face, not GitHub. Project license is Apache-2.0 only.
from datasets import load_dataset
from transformers import AutoModelForCausalLM, AutoTokenizer
ds = load_dataset("theworker02/open-reason", "all")
tok = AutoTokenizer.from_pretrained("theworker02/open-reason-xl")
model = AutoModelForCausalLM.from_pretrained("theworker02/open-reason-xl")
# or: theworker02/open-reason-large / theworker02/open-reason-medium / theworker02/open-reason-smallSee CHANGELOG.md for every release.
| Version | Date | Notes |
|---|---|---|
| v1.4.2 | 2026-08-18 | XL CPU causal LM (443,719,680); dataset unchanged |
| v1.4.1 | 2026-08-18 | Large CPU causal LM (~91.5M); dataset unchanged |
| v1.4.0 | 2026-08-18 | Larger verified corpus; small + medium CPU models |
| v1.3.8 | 2026-08-18 | Apache-2.0 only; train-sized corpus; small CPU causal LM |
| v1.0.0 | 2026-08-18 | Catalogs in every section, broader original tasks, local 1.0 dataset |
| v0.4.0 | 2026-08-18 | Policy engine, coverage generation, training pipeline |
| v0.3.0 | 2026-08-18 | Curriculum auto-approve, original source-tagged tasks, README demos |
| v0.2.0 | 2026-08-18 | Source registry, knowledge graph, education / core / verified splits |
| v0.1.0 | 2026-08-18 | Schema, sandbox verification, first seed release |
Most public “reasoning” corpora are web dumps, unverified generations, or evaluation sets reused as training data. Open Reason is built so every row can answer: Where did this come from? May I use it? Was the answer actually checked?
It is a dataset and the pipeline that produces it.
- GitHub
theworker02/open-reasonis the lab: pipeline, schemas, taxonomy, registry, tests, docs, configs, and small samples. Default branch ismain. Full shards are not in git. - Hugging Face dataset
theworker02/open-reasonis distribution: Parquet shards and the dataset card. - Small CPU model
theworker02/open-reason-smallis a ~1.3M-parameter GPT-2-style causal LM. - Medium CPU model
theworker02/open-reason-mediumis a 13,867,008-parameter GPT-2-style causal LM (CPU, not 1B). - Large CPU model
theworker02/open-reason-largeis a 91,544,064-parameter GPT-2-style causal LM (CPU, not 1B). - XL CPU model
theworker02/open-reason-xlis a 443,719,680-parameter GPT-2-style causal LM (CPU, not 1B). Weights are on the Hub, not in git. open-reason buildwrites localdata/release/. Those*.parquet/*.jsonlshards are gitignored. A committed sample lives indata/sample/.
See docs/huggingface.md and docs/releases.md.
git clone https://github.com/theworker02/open-reason.git
cd open-reason
pip install -e ".[dev]"
open-reason sources --approve --apply
open-reason build --config all --seed 42 --out data/releaseLoad:
from datasets import load_dataset
coding = load_dataset("theworker02/open-reason", "coding")
math = load_dataset("theworker02/open-reason", "mathematics")
education = load_dataset("theworker02/open-reason", "education")
core = load_dataset("theworker02/open-reason", "core")Auto-approve is a license policy, not a scrape. It enables original Open Reason tasks inspired by a source’s public curriculum or docs. It never copies lectures, never sets verbatim=true for NC/SA/unknown licenses, and never enables Reddit.
open-reason sources --approve # dry run
open-reason sources --approve --apply # write sources/registry.yamlopen-reason generate --domain education
open-reason ingest --source khan-academy # original tasks, not copied lessons
open-reason ingest --source reddit # rejectedfrom datasets import load_dataset
ds = load_dataset("theworker02/open-reason", "coding", split="train", streaming=True)
for row in ds.take(3):
print(row["id"], row["task_type"])coding | reasoning | science | mathematics | human | education | core | verified | all
| Config | Contents |
|---|---|
coding |
Sandbox-tested software tasks (Python, SQL, JavaScript when available) |
mathematics |
Symbolic / integer-checked problems |
science |
Independently recomputed numerical and conceptual items |
reasoning |
Structured planning and constraint problems |
human |
Teaching, synthesis, decision support |
education |
Curriculum graph + original tasks from auto-approved sources |
core |
Quality tiers S and A |
verified |
Tier S only (quality.verified after a real check) |
all |
Union by id |
permissive SPDX + commercial + no share-alike → original tasks (verbatim still off until a reviewed crawler)
education / docs with unclear or SA/NC terms → original tasks only
Reddit / Quora / prohibited → never
Stack Overflow → original rewritten seeds only (not verbatim CC BY-SA dumps)
quality.verified is never set from votes, views, or “accepted answer.”
source registry
→ license-policy auto-approve
→ original task generation
→ normalize / validate / Reddit block
→ execute or symbolic check
→ deduplicate
→ contamination report
→ statistics + Parquet / JSONL
open-reason sources
open-reason generate --domain programming
open-reason validate data/release --strict
open-reason statistics --config all
open-reason benchmarkEvery example carries knowledge, task, evidence, solution, verification, provenance, educational position, and quality — not only prompt + answer.
{
"id": "or-mathematics-synthetic-…",
"domain": "mathematics",
"task_type": "algebra",
"prompt": "…",
"observations": [],
"constraints": [],
"plan": [],
"solution": "…",
"answer": "…",
"verification": {"method": "sympy", "passed": true},
"provenance": {"source_type": "synthetic", "license_spdx": "Apache-2.0"},
"quality": {"tier": "S", "verified": true, "evidence_confidence": 0.81},
"education_level": "high_school",
"concept_id": "math.algebra"
}JSON Schema: schemas/.
| Tier | Meaning |
|---|---|
| S | A check ran and passed |
| A | Reviewed / human-authored, not claimed executed |
| B | Synthetic, structurally valid |
| C | Raw (unused) |
- Project: Apache 2.0
- Per-row
provenance.license_spdxrecords upstream SPDX (GitHub MIT/BSD/Apache snippets, SO-inspired original rows) - Share-alike and non-commercial third-party text is not relicensed into this release
Pipeline version 1.4.0.
| Configuration | Examples | Verified | Human-authored |
|---|---|---|---|
| coding | 400 | 386 | 0 |
| reasoning | 580 | 580 | 0 |
| science | 527 | 527 | 0 |
| mathematics | 1050 | 1050 | 0 |
| human | 289 | 261 | 28 |
| education | 345 | 111 | 0 |
| core | 3175 | 2899 | 28 |
| verified | 2899 | 2899 | 0 |
| all | 3175 | 2899 | 28 |
Rebuild with open-reason build --config all --seed 42 --out data/release.
Full tables: data/release/statistics.md.
- Quality over scale: this is a foundation, not a web dump
- Auto-approve does not download Khan Academy, MIT OCW, MDN, or Stack Overflow
- Verified coding languages are those the sandbox can run
- Teaching items are not executable oracles
- Benchmark denylists cannot be complete
- Project site
- Architecture
- Data sources · Why not Reddit
- Knowledge graph
- Provenance · Licensing · Quality
- Validation · Verification · Sandbox
- Contamination · Releases
- Hugging Face · Dataset card
- Evaluation · Training
- Contributing · Security
@misc{openreason2026,
title = {Open Reason: An open, verified dataset for coding, science, mathematics, and human reasoning},
author = {Open Reason contributors},
year = {2026},
howpublished = {\url{https://github.com/theworker02/open-reason}},
note = {Dataset v1.4.0, project v1.4.2}
}Also see CITATION.cff.
Open. Licensed. Provenanced. Diverse. Verified. Reproducible. Completely free of Reddit.



