Bug Fixer
Bug Fixer: Find the defect, return the patch.
Paste a function that misbehaves. Get a corrected version plus a line-by-line account of what was wrong and why the fix holds.
1 line0 / 20,000js⌘↵ run
paste code, or load the sample
No patch yet
Run the instrument and the corrected function arrives here token by token, with a line diff of what changed.
What this instrument does
Paste a function that behaves incorrectly. The instrument returns a corrected version together with an account of each defect it found. The two are shown as a line-by-line diff so you can see exactly what changed.
It is a second opinion, not an oracle. It reads the snippet you give it and nothing else. It cannot see the call sites, the surrounding types, or the production data that determine whether a change is safe.
How it works
- It separates observation from repair
- The response names every defect it believes is present before proposing a fix, and ties each fix back to the defect it resolves. That ordering matters: a patch you cannot audit is a patch you should not merge.
- The diff is computed locally
- Line alignment runs in your browser against the original text, so the before-and-after view is exact even when the model's formatting differs cosmetically from yours.
- Your input never becomes training data
- Prompts are relayed to the configured model provider over TLS and are not retained by GenieLabs. Drafts are kept in your browser's local storage so a refresh does not lose your work.
Questions about Bug Fixer
Questions
- Which programming languages does the bug fixer support?
- JavaScript, TypeScript, Python, Java, C#, C++, Go, Ruby, PHP, Rust, SQL and shell. The language selector changes the prompt's grammar expectations, not just the label on the output panel.
- Will it find bugs the compiler already catches?
- Not reliably, and it is not trying to. Type errors and syntax errors are compile-time concerns. This instrument is aimed at logic defects that pass type checking and fail in production: wrong comparison operators, unhandled empty collections, off-by-one boundaries, missing null checks, incorrect early returns.
- Is my source code stored?
- No. Input and output stay in your browser. The prompt is forwarded to the model provider for that one request and is not written to any GenieLabs database. Drafts persist only in your own browser's local storage.
- How large a snippet can I paste?
- Up to 20,000 characters. Larger input is rejected by the relay rather than silently truncated, because a truncated function produces a confident and wrong fix.
All instruments
Other instruments