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.