Your Agent Pipeline's Review Gate Should Be Code, Not a Prompt Convention
Your Agent Pipeline's Review Gate Should Be Code, Not a Prompt Convention ZOdyssey is a code-enforced orchestration pipeline for ZCode (for now — the pattern is harness-portable), and its center of gravity is not dispatch: it is getting the plan right before any code moves. Acceptance criteria are executable and confirmed with the user; a plan-linted, nonce-bound review verdict is the only key…
Your Agent Pipeline's Review Gate Must Be Code, Not a Prompt Convention
ZOdyssey is a code-enforced orchestration pipeline for ZCode, with the focus being on getting the plan right before any code is executed. Acceptance criteria are executable and confirmed with the user; a plan-linted, nonce-bound review verdict is the only key that unlocks product code. Every code block in this report is quoted directly from the repository, with its source lines named.
The pipeline consists of eight phases, but the Review node is the only barrier to execution. The hook, not the prompt, holds the gate shut. The failure leading to this change was a gate being deleted twice — v0.2.0 removed 170 lines of code, and three independent external audits missed the deletion (docs/ROADMAP.md:22-25).
The regression suite now includes a file that documents why the Bash gate was deleted multiple times (skills/odyssey/hooks/pre-tool.bash-gate.test.mjs:4-17). This file serves as a reminder of the issue and ensures that the gate is not removed again. If the gate is removed a third time, the file will fail, enforcing the policy.
The pipeline is straightforward, with eight phases that are well-documented in the README (README.md:82-91). These phases include refining the task, conducting a review, writing the plan, and executing the plan. The Review phase is the only one that enforces a gate, ensuring that only accurate plans proceed to execution.
Phase three, the Review phase, is where the gate is located. The momus tool returns either OKAY or REJECT, along with any blockers. This verdict is nonce-bound to the exact reviewer, making it unforgeable. The pipeline waits for the review to be completed before proceeding, ensuring that only accurate plans are executed.
The PreToolUse decision tree in the pre-tool.mjs file checks for product code edits that would break an invariant. If the review verdict is not OKAY, the pipeline blocks the edit and informs the user. Once the verdict is OKAY, other invariants take over, ensuring that only valid edits are made to the plan. This includes checking that the plan has not been tampered with and that it matches the SHA bound to the OKAY verdict.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.