Engineering
Make safe changes in unfamiliar code
The problem sits in a service nobody on the current team knows well.
Novix reads real excerpts and recent commits from the files it suspects before drafting anything, then a second pass tries to refute its own diagnosis. What comes back names files and lines, so a reviewer can check it instead of trusting it.
How Novix gets involved
Any report on that repository.
Nothing special to do. This is what every run does on every repository; it is simply the case where reading the code first is the difference between an answer and a guess.
How the agent handles it
It opens files before it blames them
DiagnoseThe root-cause investigation: it opens the files it suspects in your repo, then names the cause, a confidence and the areas it affects.The investigation carries read-only file reads and code search against the routed repo, up to six model calls and eight tool calls. Every file it opened is recorded, and the trace says how many.
Excerpts centred on the lines that match
InspectNo model runs here. It reads real excerpts and recent commits from the diagnosed files.No model runs here. Up to five affected areas resolve to real files and are read around the matching lines, with the recent commits that touched them. An area that scores below the floor resolves to nothing, because a confidently wrong file is worse than no file.
A second pass challenges the diagnosis
VerifyA second pass that reads the code and tries to refute the diagnosis. It can adjust the confidence, redirect the fix to files it actually read, or stop the fix being drafted at all.It reads the file the diagnosis blamed and the one it did not. It can lower the confidence, stop the draft, or redirect the fix, and a redirect only survives if its file was genuinely read this run.
You may patch what you read
FixDrafts a patch against code it has actually read, then reviews it twice: once for security holes it introduces, once for safety. Nothing is applied.A hunk against a file the drafter never opened is dropped, and so is one against lines it never looked at. The drop names the paths on the trace, so a thin patch is visible rather than quietly shipped.
What your team gets
- A root cause naming files and lines, with ranked competing hypotheses
- The list of files the run actually opened, so the reading is checkable
- A patch that only touches code the drafter had in front of it
A new file can never be drafted
A fix that needs a new module, component or test is dropped rather than invented, because there is nothing to have read. That is the honest edge of the read-before-you-patch rule and it is not worked around.
Works with
- GitHub
- GitLab
- Bitbucket
Try it on a real customer problem.
Connect the place reports or product signals already arrive. The same agent takes it from evidence to a tested pull request.