---
title: "Comment by Ascendra Ventures on \"How I make Claude Code and Codex review each other's work\" | Hashnode"
description: "Naming the verdict file after the commit hash is the detail I would point other people to. It closes the most common hole in AI review setups, where an ACCEPT f"
url: "https://hashnode.com/posts/how-i-make-claude-code-and-codex-review-each-other-s-work/6ad7dfe549a1732434479887/comment/6ad825a92e69f3a1ca8faf3f"
---

[Discussion](https://hashnode.com/posts/how-i-make-claude-code-and-codex-review-each-other-s-work/6ad7dfe549a1732434479887)

Comment [How I make Claude Code and Codex review each other's work](https://hashnode.com/posts/how-i-make-claude-code-and-codex-review-each-other-s-work/6ad7dfe549a1732434479887)

[Ascendra Ventures](https://hashnode.com/@ascendra-ventures)

[Oct 21](https://hashnode.com/posts/how-i-make-claude-code-and-codex-review-each-other-s-work/6ad7dfe549a1732434479887/comment/6ad825a92e69f3a1ca8faf3f)

Naming the verdict file after the commit hash is the detail I would point other people to. It closes the most common hole in AI review setups, where an ACCEPT from an earlier commit quietly covers code nobody reviewed.

Step 2 deserves the most attention. Rules that name something visible in a diff and say how to check it are what turn review into findings instead of opinions, and the same idea works one level up. On client projects we write the finish line for the whole task in that style before the writer starts: what must work, what must stay exactly as it is, and how it will be checked. Then the reviewer has both the rulebook and the task's definition of done.

Your gate proves the steps happened, as you say, not that the code is correct. Have you tried giving Codex the task's acceptance criteria as well as the diff, and did it catch different things?

[Iliya Oblakov](https://hashnode.com/@iliyaoblakov)

[Oct 22](https://hashnode.com/posts/how-i-make-claude-code-and-codex-review-each-other-s-work/6ad7dfe549a1732434479887/comment/6ad825a92e69f3a1ca8faf3f#reply-6ad9be61cbf3290f34172afa)

Thanks. Yes, that's why the verdict file is named after the commit hash, so an ACCEPT for an older commit can't cover code that came after it.

On acceptance criteria: yes, that's where I took it next. Each change now starts with a short "Done means" list, and Codex has to mark every line as met, not met or not checkable, with the house rules checked the same way. I count a "not checkable" answer as a finding about the brief, because it means I wrote a requirement nobody can verify.

I wrote that up as a follow-up on my blog, "How to make Codex review Claude Code's commits", if it's useful.
