<3OnlyJevsevery match is a Trail

Trails 101

A Trail is the record of a change, from intent to merge.

Git remembers files and commits. A Trail remembers the rest: what was asked, what an agent did, what the runners measured, what a reviewer found, and who said yes. OnlyJevs is a dating app that runs entirely on Trails, so every idea on this page has a real one behind it. Click any of them.

1 · Anatomy of a Trail

This is Trail #2, the match between Priya and Tomás, as it looked one second after the branch was pushed.

Trail #2 on entire.io: the match between Priya and Tomás, with two Jev monitors and a blocked merge
  1. Title, status and branch. A Trail ties context to a branch. This one is match/priya-tomas, opened against main, and it is in review.
  2. Body. The intent, in words. Here it is the couple's README: why the app thought they might work.
  3. Monitors. Numbers that runners publish on every push. Slop (Jev) and Compatibility (Jev) are judged from the diff by Jev, TypeSafe System One, in one HTTP call. No sandbox, no agent session.
  4. Gates. Approvals, findings, checks, up to date. Merge stays blocked until every gate is satisfied, and approval always needs a human.
  5. Changes. The commits on the branch. Sessions captured by the Entire CLI attach here too, so a reviewer can read how the change was made, not only what it is.

2 · How a match becomes a Trail

1Pick two developers.

Twelve fictional profiles: stack, working hours, review tone, PR size, pairing, indentation.

2Generate their first change together.

A small dinner-slot finder, written the way the two of them write. Both pair: tests with edge cases. Tabs meets spaces: both in one file. No shared language: a Python helper glued in with a shell string. Eight hours apart: swallowed errors and a TODO handoff.

3Push the branch and link a Trail.

npm run match -- priya tomas pushes match/priya-tomas from main and creates the Trail through the Entire API. On your own repository, entire trail create does the same from the command line.

4Jev judges the diff on push.

Four runner definitions live in the repository, one JSON file each. Jev sees the diff and nothing else, and never learns it is judging a couple.

5The verdict comes from the judge.

compatibility − risk/2 − security/2 − slop penalty, banded into soulmates, worth a coffee, or keep scrolling. The app does not compute compatibility any more. It reads the Trail.

6A human decides.

The gate reads the same numbers you see. Nothing merges without an approval.

3 · A runner is one JSON file

Runners are read from .entire/runners/ on main. This is the Compatibility runner, exactly as committed. A Jev runner names a category and a monitor; the scoring prompt lives in Jev, so the prompt.template is a note for readers. A Claude prompt_runner looks similar but adds a sandbox, an agent and a real prompt, which is what you want when the question needs the whole repository rather than the diff.

loading…

4 · The record

Every match Trail on OnlyJevs, with Jev's latest judgment and the verdict derived from it. This table is data/record.json, the same file the match page reads.

CoupleTrailCompatibilityRiskSecuritySlopScoreVerdict

5 · The judge versus the labellers

loading…

Twenty couples were labelled by hand before any of this existed. The eval asks how often Jev's verdict lands where the labellers put it. The honest answer is on the left; the lesson is on the right: a judge that only sees the diff scores the diff, and on OnlyJevs that mostly means whether the couple wrote tests. Change what goes into the Trail and you change what the judge can see.

CoupleTrailScoreJev saysLabellers said

6 · Try it on a repository that matters

Trails are part of Entire, the open, independent agent development platform built on Git, and they are in preview. The shape is the same for a dating app or a payment service:

  1. Install the Entire CLI and run entire enable in your repository. Sessions from supported agents are captured from then on.
  2. Turn on Trails and Runners for the repository in Settings → Workflow.
  3. Add a runner definition to .entire/runners/ on main. Start with a monitor: a Jev category for a fast judgment from the diff, or a prompt_runner when the question needs the repository.
  4. Push a branch and run entire trail create. Watch it with entire trail watch.
  5. Let the gate read the runner. Approve when a human agrees.

OnlyJevs was built for the talk Fixing Git for Agents at WeAreDevelopers World Congress, San José, 25 September 2026 · all twelve developers are fictional · the judge is Jev, the opinions are ours