Request a pilot

Trajectory data for AI labs

Real developer work, transformed into training signals for coding agents.

Trajector captures real-world coding-agent interactions and turns them into outcome-labeled trajectories with built-in training views.

Coverage today: Claude Code.

session_9c2e.jsonl · claude-code · claude-sonnet-4-6repo: private · go
  1. 00:00userrate limiter lets bursts through right after a restart
  2. 00:07tool_useread src/ratelimit/bucket.go
  3. 00:24tool_useedit bucket.go +11 −3 persist counters to redis on shutdown
  4. 00:39assistantCounters now survive restarts.
  5. 00:58userno, that's not it. refill uses wall clock, so after a restart it thinks a whole window passed. clamp the refill instead.
  6. 01:16tool_useedit bucket.go +5 −9 clamp elapsed to window on first tick
  7. 01:29tool_usebash go test ./...
  8. 01:52tool_resultok ratelimit 0.41s
  9. 02:10commit7d21f4a fix: clamp token refill after restart
1 correction event, extracted5 of 16 agent lines retainedcommit linked · tests passed

One real interaction. Multiple training signals.

How Trajector data compares

Public research datasetsVendor-staged tasksTrajector
Where sessions come fromOpen-source repos, opt-inTasks written by the vendor, performed for payLive codebases, including private ones, work that would have happened anyway
Human correctionsPresent, unlabeledRare — tasks are designed to be completedExtracted as events, quality-scored, in the developer’s own words
Outcome verificationCommit-linkedGrader-scoredCommit-linked, line-level survival, test results
Dead ends and abandoned sessionsPresent, unfilteredFiltered outKept and labeled
FreshnessContinuous, publicBatch, on deliveryContinuous, with model-version slices on request
LicenseResearch termsCommercialCommercial training and evaluation, consent chain attached

Where sessions come from

Public research datasets
Open-source repos, opt-in
Vendor-staged tasks
Tasks written by the vendor, performed for pay
Trajector
Live codebases, including private ones, work that would have happened anyway

Human corrections

Public research datasets
Present, unlabeled
Vendor-staged tasks
Rare — tasks are designed to be completed
Trajector
Extracted as events, quality-scored, in the developer’s own words

Outcome verification

Public research datasets
Commit-linked
Vendor-staged tasks
Grader-scored
Trajector
Commit-linked, line-level survival, test results

Dead ends and abandoned sessions

Public research datasets
Present, unfiltered
Vendor-staged tasks
Filtered out
Trajector
Kept and labeled

Freshness

Public research datasets
Continuous, public
Vendor-staged tasks
Batch, on delivery
Trajector
Continuous, with model-version slices on request

License

Public research datasets
Research terms
Vendor-staged tasks
Commercial
Trajector
Commercial training and evaluation, consent chain attached
  • Full
  • Partial
  • Missing

What we license

One dataset. Cut the way your pipeline needs.

Source: permissioned real-world coding-agent trajectories — conversations, tool calls, code edits, commands, and execution results, scrubbed on the contributor’s machine.

Outcome-Labeled Trajectories

The complete work record, where every step knows what happened to it.

Real coding-agent trajectories with acceptance, test, commit, retention, and human-correction labels on every turn. Nothing is cut: failed attempts, reverts, corrections, and abandoned sessions stay in, labeled.

  • accepted
  • overwritten
  • test_passed
  • committed
  • reverted
  • human_correction
  • reasoning_original
  • reasoning_generated
Chain-of-thought on every turn.

Where the client preserved the agent’s original think blocks, they ship verbatim as reasoning_source: original. Where the agent emitted none, we reconstruct the decision rationale from the observed action sequence and ship it in the same field as generated. Every turn carries reasoning; every turn declares where it came from. Synthetic rationale is never passed off as original.

Reconstruction is an optional enrichment, priced per session.

Training views

SFT-ready
per session
Frontier-model sessions with retained lines and linked commits.
Human corrections
per event
Events where a developer rejected an agent action and a later attempt was accepted. Quality-scored, any model.
rejected
Persist counter state in Redis.
human
“No, that’s not it. Refill uses wall clock. Clamp it instead.”
preferred
Clamp elapsed time to the window on first tick.

reason: wrong root-cause diagnosis · outcome: tests passed, patch retained · quality: 84/100

Preference pairs
per pair
Rejected and preferred actions from correction events, aligned.
Failure recovery
per session
Sessions containing a failed test or error followed by a passing fix.
Verified outcomes
per session
Sessions with a passing test run and a linked commit.

Views are filters on the same dataset. Full-dataset access includes all of them.

Accepted before it reaches you

Every session passes five gates. What fails, you never see and never pay for.

10B+
tokens
10,000+
sessions
Opus 5+
frontier models

Already collected and processed through the pipeline below, and open-sourced. Private-repo data runs the same five gates.

01Capture

Uploads signed with per-device keys from reproducible CLI builds.

02Scrub

Keys, tokens, env vars, and internal hosts removed on the contributor’s machine, checked again server-side.

03Validate

Schema, event ordering, and timing checked against real API latency.

04Dedupe

Exact and near-duplicate detection across the whole corpus.

05Score

Sessions scored for resolution; correction events scored for quality. Audited subsets available.

Rights you can build on

Explicit, per-project consent

Capture is opt-in for each repository. Nothing is collected from a project the contributor hasn’t enabled.

Rights attestation at onboarding

Contributors attest that shared sessions cover code they own or that is open source. Recorded and attached to every delivery.

Perpetual commercial license

Delivered datasets carry a perpetual license for model training and evaluation. Deliveries are not recalled.

Contributor control, going forward

Contributors can pause capture, exclude repositories, and delete local buffers at any time. This stops future collection; it does not unwind delivered data.

Start with the sample

Ten correction events from public repos, fully scrubbed, under a research license. Enough to audit the schema and the labeling, not enough to train on.

Request the sample

If you publish on it, cite the dataset card. Private-repo data is available through a pilot.

{
  "event_id": "9c2e-t4", "session_id": "9c2e",
  "task_context": {
    "task": "rate limiter lets bursts through after a restart",
    "repo_visibility": "public", "language": "go"
  },
  "trajectory_context": {
    "turn": 3, "agent": "claude-code", "model": "claude-sonnet-4-6"
  },
  "rejected_action":  { "diff": "...", "retained_lines": 0 },
  "human_feedback": "no, that's not it. refill uses wall clock...",
  "preferred_action": { "diff": "...", "retained_lines": 5 },
  "outcome": { "commit": "7d21f4a", "tests": "pass", "patch_retained": true },
  "correction_reason": "wrong_root_cause_diagnosis",
  "quality_score": 84,
  "reasoning_source": "original", // original | generated | none
  "audited": false
}

What you can scope

Every batch is cut to a spec you set. These are the dimensions you can move, and what each one does to the unit price.

Repository reach

Private repositories, uncommon languages and stacks, and enterprise-scale monorepos — not only the public, mainstream slice that public corpora already cover.

Scarcer distributions cost more.

Signal density

Sessions carrying corrections, failure-and-recovery loops, and abandoned attempts. The turns a clean first-try run never produces.

Denser slices cost more.

Model recency

Sessions from a model version’s first 30 days, when a lab most needs to see how its newest release behaves in real codebases.

First-30-day slices carry a premium.

Reasoning provenance

Every turn carries chain-of-thought, but you decide the mix: filter to sessions whose original think blocks survived, or take reconstructed rationale alongside them. Both are labeled by source.

Original-only slices carry a premium; reconstruction is priced per session.

Verification depth

Automated labels on every unit, with human-audited subsets when you need a measured accuracy figure rather than a claimed one.

Audited subsets are an upgrade.

Targeted collection

Name a distribution we do not hold enough of. We raise contributor incentives on it and collect against your spec.

Quoted per project.

License scope

Non-exclusive by default, so the same batch stays available to others. Time-boxed exclusivity on a slice, or full exclusivity, where a lab needs it.

Exclusivity is priced separately.

How buying works

Deliveries are billed per accepted unit.

  1. 1Scope

    You set the view, the distribution, the batch size, and the acceptance criteria you will judge it by.

  2. 2Pilot

    One batch. You run your acceptance on it and pay only for the units that pass.

  3. 3Standing agreement

    Recurring deliveries at your cadence, same terms. Fresh sessions reach standing buyers first.

Start with a scoped pilot

Tell us the distribution and the training stage. We come back with a batch size, a delivery date, and a quote.