You stopped writing the code.
You still have to answer for it.

Rennet turns large changes into a review you can understand, question, refine, and stand behind.

Not for vibe coders. For agentic engineers.

Available now · Free · Open source · MIT

  1. Raw change1,872 lines
  2. Related cohorts4 parts
  3. Human decisions11 calls
  4. Your reviewOne paper
From raw change to accountable judgment. Illustrative review data.

AI can produce more code than a human can hold in their head.

Pull requests have ballooned. The old file-by-file reading ritual now asks the human context window to keep pace with machines that never get tired.

Rennet does the structural reading work: grouping, ordering, narrating, and surfacing decisions. You still read the code. Your attention goes where engineering judgment is actually required.

A review harness

A coding harness points a model at your codebase so it can write. A review harness points models at a change so you can read. The harness does the structural work. You do the deciding.

Two sides of the same responsibility.

Whether the code is yours or a teammate’s, the job is to understand what carries your name.

Before you submit

Your own work

Your coding agent finished the branch. Before you open the PR, Rennet helps you understand the change, catch issues, refine the implementation, and fulfil the human review work the agent cannot own for you.

  1. Branch

    Review committed and working-tree changes.

  2. Refine

    Turn your dispositions into focused work for the coding harness.

  3. Re-read

    Rennet captures the result as a new patchset and re-reviews only what changed.

When they submit

Someone else’s work

A teammate sends an agent-driven PR. Rennet walks you through it in comprehension order, keeps the real code under your hands, and turns your decisions into one normal GitHub review in your own voice.

  1. Pull request

    Read the promise, structure, and changed code together.

  2. Question

    Interrogate any finding, decision, or line.

  3. Review

    Edit and sign the exact paper GitHub receives.

Don’t just read the diff. Talk to it.

Ask what changed, why it changed, how it fits the surrounding repository, or whether a failure path is intentional. The conversation stays attached to the review and its code.

src/rate-limit/store.tslines 84–101
− return store.get(key)+ return store.get(key).catch(() => fallback)
You

Why does this fail open instead of blocking the request?

Claude Code

The PR treats rate limiting as protective infrastructure, not an availability dependency. The fallback preserves service when the store is unavailable.

Your Claude Code. Your Codex. Already connected.

Rennet detects the coding harnesses installed on your Mac and uses their existing authentication. No new API keys and no Rennet inference markup.

Claude CodeExisting install · existing account
CodexExisting install · existing account

Two independent reads.
Disagreement is where you look.

Claude and Codex review the same evidence independently. Rennet shows where they agree and, more importantly, where they split. Nothing is averaged into false consensus.

Claude

Fallback masks a real storage outage.

Request change
Codex

Availability policy supports this fallback.

Accept with note

Models disagree · human judgment required

Illustrative dual-review output

A repo map that grows with the repo.

Rennet combines deterministic discovery with evidence-backed model knowledge. It maps files, workspaces, symbols, references, tests, ownership, and dependencies, then uses a model to enrich what that structure means.

When the reference branch advances, affected structure is rebuilt and the knowledge delta is refreshed. The reviewer starts with the repository’s current shape, not a stale snapshot of what it used to be.

atlas/current · main@8d2f1a
Deterministic discovery47 workspaces · 3,284 symbols · 612 test links
Evidence-backed knowledge9 conventions · 4 boundaries · 3 active decisions

Reference branch advanced12 affected shards rebuilt · knowledge delta refreshed

Illustrative repository data

The code never disappears.

Move from overview to evidence without losing your place. Rennet changes the reading order, not the need to read.

atlas · feat/rate-limitingpatchset 8
Rennet review surface with ordered changes, code, and an attached conversation
Current product wireframe

Five angles.
One complete review.

Change altitude without losing the decision or its evidence.

  1. Spec

    Read the change against what it promised.

  2. Sequence

    Follow the implementation in dependency order.

  3. Decisions

    See the judgments hidden inside the patch.

  4. Flagged

    Resolve findings, verification, and model disagreement.

  5. Noise

    Keep generated churn out of the reading path.

Local-first, without pretending the models are local.

Rennet has no backend and no telemetry. Selected harnesses may send assembled context to their own providers under their existing accounts. Rennet tells you that plainly.

Rennet backend
None
Telemetry
None
API key setup
None
Supported at launch
macOS
Licence
MIT

The questions worth asking.

Is this another autonomous review bot?

No. Rennet performs the structural reading work. You inspect, question, edit, and sign the judgment another person sees.

Does dual review mean a model decides by majority?

No. Claude and Codex run independently. Agreement is evidence; disagreement is a signal for you, never something Rennet averages away.

Does “local-first” mean nothing leaves my machine?

Rennet itself has no backend or telemetry. The coding harness you select still talks to its provider under its own terms and authentication.

Not for avoiding the code.
For engineers accountable for it.

Make the next change digestible.