This dataset contains the training data used for Harness-1, plus the retrieval corpora needed to reproduce the training/evaluation environment.
The dataset has one train split with a stage column:
sft: 899 raw GPT-5.4-generated v8d SFT trajectories produced by generate_sft_ultra_0417.py and used by train_sft_ultra_0417.py from sft_ultra_v8d_data.rl: 3453 SEC training-split query records used for RL (TRAIN_DATASETS=sec, RL_QUERY_SPLIT=train).Total rows: 4352.
The corpora/ folder contains chunked retrieval corpora exported from the
canonical Chroma collections used by the harness. These files are separate from
the data/ training split so that load_dataset("pat-jj/harness-1-train-data")
continues to load only the SFT/RL training rows.
Corpus rows use this schema:
dataset_name: source corpus family.split: train/test split when applicable.collection: original Chroma collection name.chunk_id: retrieval chunk ID used by qrels and trajectories.document_text: chunk text.metadata_json: JSON-serialized metadata with vector/BM25 internals removed.Exported corpus counts:
corpora/browsecompplus/test: 1,144,886 chunks.corpora/web/train: 219,388 chunks.corpora/web/test: 54,735 chunks.corpora/patents/train: 104,842 chunks.corpora/patents/test: 35,551 chunks.corpora/sec/train: 2,115,106 chunks.stage: sft or rl.source: provenance for the row.dataset_name: source dataset name.query_id: original query identifier.query: query text (query_text for SFT trajectories).answer: expected answer when available; SFT trajectory rows leave this blank because the raw trajectory stores retrieval supervision rather than answer supervision.document_ids_json: JSON-serialized ground-truth document IDs or fact annotations.payload_json: JSON-serialized original record. For sft, this preserves the full raw trajectory including turn history, search history, curated IDs, and doc snippets. For rl, this preserves the SEC train row and metadata.from datasets import load_dataset
ds = load_dataset("pat-jj/harness-1-train-data", split="train")
sft = ds.filter(lambda x: x["stage"] == "sft")
rl = ds.filter(lambda x: x["stage"] == "rl")
To load a corpus shard directly:
from datasets import load_dataset
sec_corpus = load_dataset(
"parquet",
data_files="hf://datasets/pat-jj/harness-1-train-data/corpora/sec/train/*.parquet",
split="train",
)
4 commits
This dataset contains the training data used for Harness-1, plus the retrieval corpora needed to reproduce the training/evaluation environment.
The dataset has one train split with a stage column:
sft: 899 raw GPT-5.4-generated v8d SFT trajectories produced by generate_sft_ultra_0417.py and used by train_sft_ultra_0417.py from sft_ultra_v8d_data.rl: 3453 SEC training-split query records used for RL (TRAIN_DATASETS=sec, RL_QUERY_SPLIT=train).Total rows: 4352.
The corpora/ folder contains chunked retrieval corpora exported from the
canonical Chroma collections used by the harness. These files are separate from
the data/ training split so that load_dataset("pat-jj/harness-1-train-data")
continues to load only the SFT/RL training rows.
Corpus rows use this schema:
dataset_name: source corpus family.split: train/test split when applicable.collection: original Chroma collection name.chunk_id: retrieval chunk ID used by qrels and trajectories.document_text: chunk text.metadata_json: JSON-serialized metadata with vector/BM25 internals removed.Exported corpus counts:
corpora/browsecompplus/test: 1,144,886 chunks.corpora/web/train: 219,388 chunks.corpora/web/test: 54,735 chunks.corpora/patents/train: 104,842 chunks.corpora/patents/test: 35,551 chunks.corpora/sec/train: 2,115,106 chunks.stage: sft or rl.source: provenance for the row.dataset_name: source dataset name.query_id: original query identifier.query: query text (query_text for SFT trajectories).answer: expected answer when available; SFT trajectory rows leave this blank because the raw trajectory stores retrieval supervision rather than answer supervision.document_ids_json: JSON-serialized ground-truth document IDs or fact annotations.payload_json: JSON-serialized original record. For sft, this preserves the full raw trajectory including turn history, search history, curated IDs, and doc snippets. For rl, this preserves the SEC train row and metadata.from datasets import load_dataset
ds = load_dataset("pat-jj/harness-1-train-data", split="train")
sft = ds.filter(lambda x: x["stage"] == "sft")
rl = ds.filter(lambda x: x["stage"] == "rl")
To load a corpus shard directly:
from datasets import load_dataset
sec_corpus = load_dataset(
"parquet",
data_files="hf://datasets/pat-jj/harness-1-train-data/corpora/sec/train/*.parquet",
split="train",
)
4 commits