docs(cli): clarify hermes -z version boundary and one-shot timeout behavior - #25501
docs(cli): clarify hermes -z version boundary and one-shot timeout behavior#25501konsisumer wants to merge 1 commit into
Conversation
|
Thanks, this matches the corrected scope of #25121. I reviewed the PR description and it accurately reflects my follow-up findings: No objection from me. I'm happy for #25121 to be closed when this PR is merged. |
…havior Per the reporter's corrected findings on issue NousResearch#25121: hermes -z / --oneshot was added in v0.12.0, while hermes chat -q is the portable cross-version one-shot entry point. Neither accepts a --timeout flag, so document wrapping with an external timeout instead. Fixes NousResearch#25121
4c86d50 to
393caee
Compare
teknium1
left a comment
There was a problem hiding this comment.
Thanks for narrowing the original report to the actual documentation gap. Current main has both parser entries (hermes_cli/_parser.py:102-112 and hermes_cli/_parser.py:263-270), while the user guide still shows only chat -q (website/docs/user-guide/cli.md:25-26), so the version-boundary guidance remains useful.
Problems
- The added bare
timeout 300 hermes -z ...example in PR commit393caee003d0337fe65259abb8f6d9d18d5eb1c3relies on GNU coreutils'timeout, rather than a portable shell command. This conflicts with the PR's platform-independent framing and its macOS test claim.
Suggested changes
- Label that command GNU/Linux/coreutils-specific and add a portable Python subprocess timeout example, or give platform-specific alternatives.
Automated hermes-sweeper review.
| timeout 300 hermes -z "summarize this repo" | ||
| ``` | ||
| ::: | ||
|
|
There was a problem hiding this comment.
timeout is the GNU coreutils utility rather than a portable shell command. Please label this as GNU/Linux/coreutils-specific and add a portable Python subprocess example or platform-specific alternatives.
|
Closing — on reflection, |
What changed and why
Per the reporter's corrected findings on issue #25121 (comment on 2026-05-14), the original "
hermes -zis rejected on some versions" claim was retracted — there was no raw evidence of the parser rejecting-z. The actual situation is a documentation gap:hermes -z/--oneshotwas added in v0.12.0 (v2026.4.30); earlier releases only shiphermes chat -q.hermes chat -qis the portable cross-version one-shot entry point.hermes -znorhermes chat -qaccepts a--timeoutflag (verified againsthermes_cli/_parser.py—--timeoutonly exists on themodel/login/authsubparsers as a network timeout).This PR adds a One-Shot / Non-Interactive Invocation section to
website/docs/user-guide/cli.mdthat spells out the version boundary, recommendshermes chat -qfor scripts targeting older installs, and shows how to bound run time with an externaltimeoutwrapper. The single-query example in "Running the CLI" now also showshermes -zalongsidehermes chat -q.Adding an actual
--timeoutflag to one-shot/chat invocations is a separate feature request and is intentionally not in scope here.How to test
cd website && npm install && npm run start, then open/docs/user-guide/cliand confirm the new "One-Shot / Non-Interactive Invocation" section renders, including the table and the:::infoadmonition.website/docs/user-guide/cli.md.pytest tests/website/ -q --timeout=60(7 passed locally).What platforms tested on
macOS (Darwin 24.6.0). Change is documentation-only (a single Markdown file); no runtime code paths are touched, so it is platform-independent.
Fixes #25121