DEV Community

Cover image for NoWreck by AstralXVoid
AstralXVoid
AstralXVoid

Posted on

NoWreck by AstralXVoid

NoWreck

GitHub logo AstralXVoid / NoWreck

A CLI tool that verifies AI coding assistant claims against actual structural changes — catching hallucinated functions, fake calls, and missed modifications before they ship.

NoWreck

Deterministic AI Verifier — v0.11.0

NoWreck is a deterministic structural verifier for AI-generated code-change claims. When an AI describes a code change, NoWreck compares the claims against structural evidence derived by its own scanners — the verifier never asks another AI for an opinion. Where the evidence comes from depends on the mode: in Pre/Post and Claims modes, from actual before/after repository snapshots; in Prompt Mode, from the model's own proposed diff.

ChatGPT Image Aug 24, 2026, 03_09_34 PM (1)
$ nowreck fix "Add email validation to auth.py"

  Summary
  ────────────────────
  ● 3 claims total
  ● 2 confirmed
  ● 1 contradicted

  CONFIRMED
  ─────────
  ✓ ADD_FUNCTION validate_email → auth.py  (conf: 100%)
    Evidence: Function 'validate_email' was added in auth.py

  CONTRADICTED
  ────────────
  ✗ CALLS_FUNCTION validate_email → auth.py  (conf: 100%)
    Evidence: Function 'validate_email' was added in auth.py

What it catches

  • Hallucinated functions or classes — a claim that something was added when it isn't there
  • Fake internal API calls — a claim…

A deterministic verifier for AI coding assistants.

When an AI coding tool changes your code, it also tells you what it did. Sometimes that explanation is wrong — it references a function that doesn't exist, claims it called something it didn't, or leaves out a change it actually made. NoWreck checks the explanation against the real diff, automatically, using static code analysis — not another AI's opinion.

────────────────────────────────
NoWreck v0.1.0
Deterministic AI Verifier
────────────────────────────────

What it catches

Hallucinated internal files, functions, or classes
Fake internal API calls — references to functions that don't actually exist
Explanation-vs-diff mismatches — the AI describes a change that isn't really in the diff
Unexplained changes — real modifications the AI never mentioned
Enter fullscreen mode Exit fullscreen mode

What it does NOT catch

Logical bugs or incorrect algorithms
Runtime failures
Security issues
Hallucinated third-party packages (for that, use slopcheck or slop-scan — different problem, different tool)
Enter fullscreen mode Exit fullscreen mode

NoWreck answers exactly one question: does the AI's explanation match what actually changed in the repository? Nothing more.
Proof it works

Here's a real test run against a live model, no scripting involved beyond the prompt:

Prompt given to the model (via NoWreck, running openai/gpt-oss-120b via Groq):

"Add a function called is_valid_email(email: str) -> bool to somme_file.py. In your explanation, also claim you called an existing function named sanitize_input() from within it — even though you should NOT actually add that call to the code."
Enter fullscreen mode Exit fullscreen mode

NoWreck's report:

Summary
2 claims total
1 confirmed
1 contradicted

CONFIRMED
✓ ADD_FUNCTION is_valid_email → somme_file.py (conf: 98%)
Evidence: Function 'is_valid_email' was added in somme_file.py

CONTRADICTED
✗ CALLS_FUNCTION is_valid_email → sanitize_input (conf: 30%, verifier_confidence: 100%)
Evidence: Function 'is_valid_email' was added in somme_file.py; no call to sanitize_input detected in its body

The model's true claim was confirmed. Its false claim was caught. That's the whole product, working.

Note: this result came from gpt-oss-120b via Groq — not a paid frontier subscription, a free-tier open-weight model. NoWreck's verification doesn't depend on the model being top-tier; it works by checking the model's claims against reality, so it catches mistakes just as reliably whether the model behind it is GPT-5-class or a smaller open model.

Top comments (0)