Every pull request, read closely.

  • Reads each diff and the docs behind the changed code.
  • Runs a separate security pass on every code change.
  • Posts its findings on the pull request.
  • Fixes failing checks and proves each fix on a fresh copy.
internal/webhook/deliver.go
41+ for attempt := 1; attempt <= 3; attempt++ {42+     resp, err := d.post(e.URL, e.Body)

Lightfactory on line 42

Retries send an empty body. The first call reads e.Body to the end, so attempts 2 and 3 send nothing.

Lightfactory is in private beta.

What a review covers

The rules you wrote down

After the diff, it reads the module READMEs and the decision records they link to, and flags changes that contradict them.

Finding 2 in the example

A separate security pass

Changes beyond docs and tests get a second pass that looks only for security defects.

Security pass in the example

What it could not check

Every review names the parts of the change it could not inspect, and why.

Limit in the example
Example review

Retry failed webhook deliveries #214

retry-webhooksintomain+86 −12

Lightfactory reviewed 3 files

2 findings

internal/webhook/deliver.go

 func (d *Deliverer) Send(e Event) error {-	resp, err := d.post(e.URL, e.Body)+	for attempt := 1; attempt <= 3; attempt++ {+		resp, err := d.post(e.URL, e.Body)+		if err == nil && resp.StatusCode < 500 {+			return nil+		}+		time.Sleep(backoff(attempt))+	}
  1. 1

    Retries send an empty body

    The first call reads e.Body to the end, so attempts 2 and 3 send nothing. Build a new reader for each attempt.

  2. 2

    Contradicts a decision record

    docs/decisions/0007-webhook-delivery.md says retries wait with jitter. backoff(attempt) gives every delivery the same delay.

Security pass
Nothing to report.
Could not check
How receivers handle a repeated delivery. Their code is outside this repository.

From sign-in to first review

  1. Sign in with GitHub

    Your first sign-in sets up your team. Invite teammates by their GitHub login.

  2. Choose repositories

    Install the Lightfactory app on GitHub, then opt in the repositories you want reviewed. You decide whether drafts, forks and bot authors get reviews.

  3. Open a pull request

    The review appears on the pull request, and each new push gets a new round. If you allow it, clean changes get an approval.

What it can’t do

Reach the network
Each review runs in a container with networking off and no credentials inside.
Change your code
The reviewer works on a read-only copy and returns only its report.
Read what you didn’t choose
Only repositories you opt in are reviewed, and only their code goes to the model provider.

Try it on your next pull request.

Sign up with GitHub