Code review your team can follow.

Null Review prepares AI findings for self-managed GitLab changes, with saved context and controlled actions. Your team checks the reasoning and decides what happens next.

Follow one reviewPlan an evaluation

Evaluation source by request. Public release preparation is still in progress.

One change. One risk to inspect.

Synthetic walkthrough. No model call, CI or merge.

payments/query.py

Before · illustrative SHA A

  def get_payment(cursor, user_input):      sql = "SELECT * FROM payments WHERE id = "−     cursor.execute(sql + user_input)      return cursor.fetchone()

Human fix · illustrative SHA B

  def get_payment(cursor, user_input):      sql = "SELECT * FROM payments WHERE id = "+     cursor.execute(sql + "%s", [user_input])      return cursor.fetchone()

Illustrative finding payments/query.py:3 · SHA A

SQL injection risk

A user-controlled value becomes SQL syntax. Input may change the query predicate and expose unintended rows. Pass the value separately as a bound parameter.

Input becomes SQL syntax

A user-controlled value becomes SQL syntax.

A developer binds the value

Check the input boundary, apply parameter binding and commit the fix.

New SHA, separate checks

SHA B needs a fresh review. Its model result and CI are not run here. Approval and merge remain separate team actions.

The %s placeholder assumes a compatible Python driver. Use your driver’s binding syntax. A and B are illustrative labels, not commit hashes.

New review / SHA B
Not run
CI / SHA B
Not run
Approval / merge
Not performed; team decision
Inspect the recorded example

From a diff to a decision.

Null keeps the review tied to the code revision and rules used for it. A changed revision needs a new check before acting on the result.

  1. Prepare context

    Select the revision, permitted code and rules. Save the review context as a ContextPack.

  2. Analyse the change

    The configured review model prepares draft findings from that context.

  3. Check the finding

    A reviewer checks the code, reasoning and practical consequence.

  4. Fix and recheck

    Review the new revision. Read CI results separately. The team decides whether to merge.

Trace the review workflow

A finding for the developer. A trail for the team.

Start with the code question. Then inspect the context, access and actions behind the answer.

Developer
Inspect a finding beside the change. Check why it matters before choosing a fix.
Engineering lead
Follow review, recheck and CI as separate evidence. Evaluate useful findings and review effort in a pilot.
Platform and security
Inspect repository scopes, service data and external model routes before connecting code.

Your deployment. Explicit model routes.

Null services and their PostgreSQL data run in your environment. An external review model receives the selected ContextPack. If external embeddings are configured, that endpoint receives indexed code fragments.

Your environment

Null Review

Services + PostgreSQL
ContextPack

Selected review context

Indexed fragments

If external embeddings are configured

Configured endpoints

Review model

Embedding model

The seven-service quickstart creates one tenant. Qdrant, ContextForge, SSO and a CI runner require separate setup and acceptance.
Follow the dataInspect access boundaries

Inspect what has been checked.

The checks below have different scopes. They do not establish pilot readiness or model accuracy.

Recorded MR3
One SQL finding, then zero findings after a fix. CI passed with operator involvement. Overall task result: INCONCLUSIVE.INCONCLUSIVE
12 Nov 2026 · Installation
A clean cabinet install and restart passed in Linux amd64 emulation. Host-native Linux acceptance remains open.
12 Nov 2026 · Component checks
1552 Python and 20 JS checks across frozen snapshots. Model and GitLab doubles were used. This is not a new live integration run.
Read the evidence and open gatesOpen MR3 and its limits

Already evaluating Open Code Review?

Null focuses on the workflow around a finding: saved context, scoped data, controlled GitLab actions and decision history. Its current review engine is PR-Agent; Null is not an OCR add-on.

Review quality and integration effort need a matched evaluation. Null has no published superiority result.

Compare the workflow scope

One product. Choose who runs it.

Self-hosted and Enterprise use the same Null product. The difference is responsibility for deployment and support.

Self-hosted

Your team operates the services, credentials, model route and updates. Start by reviewing the source and installation requirements.

Review source access

Enterprise

Agree the environment, roles, rollout and support scope together. A pilot needs explicit acceptance criteria.

Review the pilot path

A public self-hosted release is being prepared. Live model/CI acceptance and five concurrent reviews remain open.

Start with one repository and a clear question.

Bring your target OS, GitLab edition, model route and technical owner. Agree what a useful finding looks like and how the team will evaluate it.

Request evaluation sourcePrepare a pilot brief

Read the requirements before sharing code or credentials.