The Evidence Behind an AI Review Verdict
Quick answer: The verdict is produced deterministically with no model involved, using the evidence the checks actually collect. Drift or failing evidence fails, a lack of verified evidence is inconclusive because an empty result is not a pass, partial verification stays partial, and only fully verified evidence passes. Every evidence item carries a reproducible command and the raw process output, so you can check the basis for the verdict yourself. The four evidence classes Before the verdict is computed, every finding is sorted into a class that says how it was produced. Class Source Role in the verdict Static Typecheck, lint, build, hallucinated API Fails when the command fails Dynamic Test, coverage, smoke Fails on a real run that breaks Contract Schema, type drift Fails on drift against the spec AI hypothesis Model reasoning only Never counts as verified evidence A model-only claim is always a hypothesis, and it does not pass anything on its own. The model can suggest where to look, but the verdict comes from measured evidence, not from confident language. How the deterministic verdict works The verdict follows fixed rules rather than a judgment call. Fail: drift or failing evidence is present. Inconclusive: there is no verified evidence, because an empty result is not a pass. Partial: only some of the required checks could be verified. Pass: the evidence is fully verified. No model participates in this decision. That matters because it keeps the result stable and explainable: the same evidence produces the same verdict every time, and a missing check can never be talked into a pass by a well-written summary. Reproducible command and raw output Trust comes from being able to repeat the evidence, not from trusting the label. Each evidence item carries two things: A reproducible command that produced the result. The raw process output the command returned. To audit a verdict, run the command and compare your output with the recorded output. If they differ, the context may have changed since the review, so rerun rather than trusting either result. An item with no command and no output is not verified and cannot support a pass. A concrete case makes this tangible. A change can pass lint and typecheck while the project has no test script. Those two static checks are verified, but the dynamic layer is unverified, so the verdict reads partial rather than pass. Adding one runnable test and rerunning moves the dynamic evidence from missing to measured, and the verdict updates only then. The label never moves ahead of the evidence. How missing and partial cases behave Real projects rarely produce a clean all-or-nothing result, and the verdict reflects that honestly. When a project script is missing, run checks report it as unverified rather than passed. A dynamic run that never reaches a branch leaves that branch without evidence, which is not evidence that it works. Partial verification stays partial until the remaining checks run. Only fully verified evidence passes, so a mix of green and unknown never rounds up to a green verdict. This is the same logic that keeps an empty test result inconclusive. Silence is not approval, and the absence of evidence stays visible instead of being promoted to success. Powerduck keeps this pipeline transparent, showing the evidence class, the command, and the raw output behind each finding so the deterministic verdict is something you can audit rather than a black box. Frequently asked questions Does the model decide pass or fail? No. The verdict is deterministic with no LLM involved. The model can produce hypotheses, but the pass or fail comes from the measured evidence. Can an AI hypothesis make a check pass? No. A model-only claim is always a hypothesis and never counts as verified evidence. It needs a real check behind it. What happens when only some checks run? The verdict is partial until the remaining checks are verified, and it does not round up to a pass. The bottom line The verdict is a deterministic computation over real evidence, not an opinion. Failing evidence fails, missing evidence is inconclusive, partial coverage stays partial, and only full verification passes, with every item backed by a command you can rerun and raw output you can inspect. Keeping model-only notes as hypotheses and empty results as inconclusive is what stops the system from dressing up silence as success. Learn more in the AI code review guide.
This is a summary aggregated from Dev.to. Read the complete article on the original site:
Read full article at Dev.to