Skip to content

Blog

Notes on scanning, monitoring, fixing

How nreactive finds bugs and ships pull requests that fix them.

Auto-merging AI fixes: the confidence threshold

Per-app confidence gating so only the obvious ones merge on their own.

Catching regressions within 48 hours

How nreactive detects when a merged fix undoes itself or a dormant bug returns.

Choosing an AI model: GPT-4.1 vs o4-mini

Cost, latency, and reasoning trade-offs across the supported models.

Classifying errors: client-side vs server-side

The dashboard now tags every error with its origin for fast triage.

Deny lists: telling nreactive what not to touch

Glob patterns that exclude files from both scanning and fix suggestions.

From runtime error to pull request

What happens after the SDK sends an error to nreactive, step by step.

Handling false-positive fixes

When the AI is wrong, the recovery path matters more than the error.

How nreactive prioritizes which files to scan

Weighted heuristics, not embeddings — fast, predictable, and easy to audit.

How nreactive scans your repo for bugs

A look at how the nreactive scan picks files, ranks them, and sends the minimum useful context to the model.

Integrating nreactive with Linear and Jira

When confidence is low, a ticket is better than a PR.

Reducing noise: transient error suppression

Network timeouts and aborted fetches don't deserve a PR each.

Rolling out nreactive to a team

Pragmatic order of operations for adopting automated fixes on a real codebase.

Runtime error monitoring vs scheduled scans

Two complementary surfaces: one reacts to production, the other goes looking for trouble.

Scheduled scans for long-running repositories

A weekly sweep that surfaces what runtime monitoring can't.

Snippet-based patching: applying AI fixes safely

Why our patcher tries four strategies before giving up.

Stack trace normalization

Why raw stack traces are terrible fingerprint inputs and what we do about it.

The anatomy of an nreactive pull request

What goes into the PR title, body, and commit message — and why.

Using nreactive with monorepos

One app per package, or one app for the whole tree — both work.

Why stack fingerprints matter for deduplication

Hashing the top stack frames catches the same bug even when the message jitters.

Writing deterministic tests alongside fixes

Every PR tries to ship a failing-before / passing-after test.