Require Fresh Coding Evidence with Hermes Verify-on-Stop
verify_on_stop is a coding quality gate. When Hermes edits code in a workspace and tries to finish without fresh verification evidence, the runtime injects a bounded follow-up asking it to test, build, lint, or explain why verification is blocked.
agent:
verify_on_stop: "auto"
verify_guidance: true
max_verify_nudges: 3
coding_instructions: ""Documentation, Markdown, and skill-only edits do not trigger the built-in check. The continuation loop is capped, so a broken test environment cannot trap the session indefinitely.
Choose the surface policy
verify_on_stop accepts:
trueto enable it on every surface;falseto disable it;"auto"to enable it for CLI, TUI, desktop, and programmatic coding surfaces while leaving messaging chats quieter.
Existing installations migrate with the feature off, so opt in explicitly. HERMES_VERIFY_ON_STOP can override the configuration.
Define what counts as evidence
Fresh evidence should be produced after the edit and should match the changed risk:
- unit or integration tests for behavior;
- a build for compile or bundle integrity;
- lint or type checks for static guarantees;
- route or browser checks for user-facing work;
- an explicit blocker when the required environment is unavailable.
A test command mentioned in prose or copied from an older run is not fresh evidence.
Adoption checklist
- The project has at least one reliable verification command.
- The chosen surface policy matches operator expectations.
-
max_verify_nudgesremains bounded. - Project-wide coding instructions are short and non-conflicting.
- User-facing releases still receive browser or device QA where needed.
- Blocked verification is reported honestly rather than fabricated.
Common pitfalls
- Treating the gate as a complete test strategy. It detects missing evidence; it does not know every domain-specific acceptance criterion.
- Enabling everywhere without considering chat noise.
autois usually a better first deployment. - Using stale test output. Verification must follow the current edit.
- Forcing success when infrastructure is unavailable. The correct result is a clear blocker and the evidence that exposed it.
Verification
In a disposable repository, enable the policy and make a small code edit without running tests. Confirm Hermes receives a continuation nudge instead of ending immediately. Run the appropriate test and verify the turn can finish. Repeat with a Markdown-only edit and confirm the coding gate does not fire.
Official reference: Hermes configuration.
