
The problem Code reaches human reviewers with problems a machine could have caught: a crash on a missing field, new behaviour with no test, API docs that no longer match the code. Reviewers rebuild the context, leave routine comments, and the review loop starts again. Tests alone don't catch this: in our sample change all 22 existing tests pass while a request without one field crashes with an HTTP 500. And AI review tools that simply say "looks good" give opinions without evidence, so teams can't trust them with the decision. Our solution PRism AI checks code before it goes to review. One command, or one question in chat, snapshots the change and sends it to three AI specialists in parallel: code review, testing and documentation, each with its own instructions. The project's real test suite runs on a copy of the code, and pass/fail counts come from the test runner, never from the AI. Every AI answer is validated against a JSON schema; an invalid answer gets one automatic repair, then counts as an error, never as a pass. Finally, fixed rules in policy.json decide the verdict: READY FOR HUMAN REVIEW, ATTENTION REQUIRED or VERIFICATION FAILED. It never says "approved". A human always makes the merge. Who it is for and how they use it Developers who want a check before asking for review, reviewers who want evidence instead of opinions, and teams who want AI help without giving AI the final say. Type prismai in any project folder and ask "analyse this project and give me a report", then follow up with "explain the bug in shipping.py and show me the fix". It also runs as a single command on any folder, a git commit, before/after folders or a patch file, re-checks on every save in watch mode, and returns exit codes that a CI job can use. It works with any OpenAI- or Anthropic-compatible AI provider. What makes it different The AI finds the problems; deterministic code decides. Every finding carries a file, a line, quoted evidence and a fix. Large projects get a two-pass review, a free code map and then AI summaries with a risk score, so every AI call fits the model's limit. A memory re-checks unchanged code in about one second with zero AI calls, and before/after tracking shows exactly what a fix resolved. Results On a messy 117-file demo project with 10 planted bugs, one check found all 10 in 26 seconds, led by a critical SQL injection. On our sample app it found all 5 planted problems while every test passed, stayed at READY FOR HUMAN REVIEW on a clean control change, and caught a held-out bug that the prompts were never tuned on. About 458 automated tests cover the pipeline and run without any AI key.
27 Sep 2026