Skip to content
Every statement on this page is cited and was checked against jevx HEAD (4a4722d), openjevx v0.5.9 (ee2a1f4) on 2026-10-04.

Recipes: measured question shapes

The recipes are eighteen everyday decisions an agent or a script hands to OpenJevX, each as a call you can run against your own server. 1 Every recipe is one POST /v1/systemone with a state and named questions. 2 Each recipe was run on 2026-10-03 against a local OpenJevX server (model 0.5.2, server 0.5.7, CPU, Apple M5 Pro), and the output was pasted unedited, including the wrong and unsure ones. 3

The calls themselves, ready to copy, are on the runnable recipes pages.

Your inputs will score differently: copy the pattern, not the numbers, and test on your own data. 4 Act on noul at or above 0.8, or confidence at or above 0.6 for a choice or score. 5 Act on the no when noul is at or below 0.2. 6 For anything in between, rewrite the question more narrowly, check it yourself, or ask the user. 7 An HTTP error means the call failed; never treat it as a no. 8 These are the jevx CLI’s default thresholds. 9

The verdict column uses three words: confident (right and over the thresholds above), unsure (between them), missed (wrong, or unsure where the recipe expects a clear answer).

recipe what it decides type answer the recipe recorded run on verdict
Find the failures in a log Keep only the log lines an on-call engineer would act on yes/no (noul) per line ERROR and FATAL lines yes (0.90); INFO lines no (0.08-0.09); slow-query WARN no (0.10) model 0.5.2, server 0.5.7, CPU confident: right on every line 10 11 12
Route a ticket queue Which team owns a ticket pick-one (choice) all five tickets routed as expected; dark-mode ticket 0.71, the others 0.96-0.98 model 0.5.2, server 0.5.7, CPU confident 13 14 15
Rank search results Which search results to open, sorted by the probability of yes yes/no (noul) per result best hit first (0.64); “Refund policy for annual plans” only 0.36 model 0.5.2, server 0.5.7, CPU unsure: the order is right, the scores are not; use the order, not a fixed cut-off 16 17 18
Pick a value among candidates Code parses the candidate dates; the model chooses which one is the due date pick-one (choice) picks a (the issue date, 0.90 from curl and jevx) instead of b (2026-10-16) model 0.5.2, server 0.5.7, CPU missed: wrong, and confidently; compute due dates in code 19 20 21
Check a claim against the source Does the document say what you are about to write? yes/no (noul) no, P(yes) 0.12 model 0.5.2, server 0.5.7, CPU confident: right 22 23 24
Before asking the user “A or B?” What would the user want next, given what they already said pick-one (choice) push at 0.66 (curl) and 0.67 (jevx) model 0.5.2, server 0.5.7, CPU confident, barely: just over jevx’s 0.6 confidence line 25 26 27
Is this command dangerous? Is a command dangerous, asked before running it yes/no (noul) P(yes) 0.55, jevx says unsure model 0.5.2, server 0.5.7, CPU missed; treat unsure as yes for anything that rewrites shared history 28 29 30
Prompt injection in a fetched page Does fetched text try to instruct an AI assistant? yes/no (noul) P(yes) 0.34, jevx says unsure model 0.5.2, server 0.5.7, CPU missed; treat unsure here as yes 31 32 33
Which file to open first Which file to open first, sorted by the probability of yes yes/no (noul) per path gateway.go first (0.62), retry.go (0.42); third pick store.go (0.15) is not a candidate model 0.5.2, server 0.5.7, CPU right order; open the first two 34 35 36
Flaky test or real bug? Is a CI failure a flaky test or a real bug pick-one (choice) per failure rounding failure bug (0.63), network timeout flaky (0.78), nil pointer bug (0.90); websocket reset that passed on retry unsure (0.55) model 0.5.2, server 0.5.7, CPU three of four right; one unsure 37 38 39
Sort PR review comments Is a review comment must-fix, should, nit or none? pick-one (choice), four ways five of six right; “nit: rename x to count” comes back should (0.66) instead of nit model 0.5.2, server 0.5.7, CPU five of six right; one missed 40 41 42
Do it here or hand it to a smaller model? How much reasoning a task needs rating (score) trivial (level 0 at 0.68, expected level 0.37) model 0.5.2, server 0.5.7, CPU confident: right 43 44 45
Question or instruction? Answer the message, or change code pick-one (choice) answer (0.89) model 0.5.2, server 0.5.7, CPU confident: right 46 47 48
Secret in a file before writing it Does a line hold a secret, before it is written to disk or a commit yes/no (noul) P(yes) 0.20, jevx says unsure model 0.5.2, server 0.5.7, CPU missed; for secrets use a pattern scanner, do not rely on this answer 49 50 51
Did the build succeed? Did the build succeed, over build output before reporting “done” yes/no (noul) no, P(yes) 0.13 model 0.5.2, server 0.5.7, CPU confident: right; a grep FAIL is still cheaper 52 53 54
Which tool should handle this? Which function name should handle a natural-language request pick-one (choice) refund_payment 0.97 model 0.5.2, server 0.5.7, CPU confident: right 55 56 57
Several judgements in one call Urgent, which team, and how severe, in one request yes/no, pick-one and rating urgent yes (0.91), severity high (0.93); team billing at only 0.55 from curl, api 0.79 from jevx model 0.5.2, server 0.5.7, CPU urgent and severity confident; team unsure 58 59 60
Would the user accept this turn? Would the user accept the agent’s own final message, before handing back yes/no and rating curl questions lean accept (0.86); jevx judge says reject (0.59), accept 0.09 model 0.5.2, server 0.5.7, CPU unsure: neither is confident enough to act on alone 61 62 63

When the answer is unsure, the fix is usually a narrower question. 64 Name the exact thing you are looking for, say what counts as yes, and let code do arithmetic and dates. 65 The model judges text, it does not do date arithmetic. 66 On the secret check, an unsure answer should be treated as yes: a missed secret costs more than a false alarm. 67 Never claim a build succeeded unless the answer is a confident yes; for a pass/fail line, a plain grep FAIL is cheaper and exact. 68

Guarding an agent’s shell commands: jevx bash-guard

Section titled “Guarding an agent’s shell commands: jevx bash-guard”

The jevx bash-guard plugin acts before a shell command runs: it refuses one that would destroy data and asks about one that touches remote systems. 69 jevx ships four plugins, stop-judge, bash-guard, injection-screen and route, and all of them start off. 70 71 bash-guard runs before a shell command (PreToolUse:Bash) and asks three questions: destroys, remote and irreversible. 69 It denies a command when destroys >= 0.8 && irreversible >= 0.6, and warns when destroys >= 0.5 || remote >= 0.8. 72

Terminal window
$ jevx plugin list # stop-judge, bash-guard, injection-screen, route: all off
$ jevx plugin test bash-guard "rm -rf / --no-preserve-root" # decision: deny (destroys 0.91, irreversible 0.87)
$ jevx plugin enable bash-guard # shadow: logs what it would do
$ jevx plugin mode bash-guard act # now it refuses for real
$ jevx plugin log bash-guard # every decision, with the answers

Enabling it starts in shadow mode, which only logs what it would do; jevx plugin mode bash-guard act makes it refuse for real. 73 In a real Claude Code session the guard refused rm -rf ./junk, and plugins speak Claude Code’s hook protocol. 74

See Question types for how each type is encoded and read, and Use cases for which questions work.

  1. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L3–4 ↩

  2. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L34–35 ↩

  3. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L45–46 ↩

  4. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L50 ↩

  5. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L77–79 ↩

  6. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L80 ↩

  7. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L81 ↩

  8. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L82 ↩

  9. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L84 ↩

  10. openjevx @ v0.5.9 (ee2a1f4) · recipes/01-find-failures-in-a-log.md L3 ↩

  11. openjevx @ v0.5.9 (ee2a1f4) · recipes/01-find-failures-in-a-log.md L26 ↩

  12. openjevx @ v0.5.9 (ee2a1f4) · recipes/01-find-failures-in-a-log.md L71 ↩

  13. openjevx @ v0.5.9 (ee2a1f4) · recipes/02-route-a-ticket-queue.md L3 ↩

  14. openjevx @ v0.5.9 (ee2a1f4) · recipes/02-route-a-ticket-queue.md L25 ↩

  15. openjevx @ v0.5.9 (ee2a1f4) · recipes/02-route-a-ticket-queue.md L56 ↩

  16. openjevx @ v0.5.9 (ee2a1f4) · recipes/03-rank-search-results.md L3 ↩

  17. openjevx @ v0.5.9 (ee2a1f4) · recipes/03-rank-search-results.md L24 ↩

  18. openjevx @ v0.5.9 (ee2a1f4) · recipes/03-rank-search-results.md L50 ↩

  19. openjevx @ v0.5.9 (ee2a1f4) · recipes/04-pick-a-value.md L3 ↩

  20. openjevx @ v0.5.9 (ee2a1f4) · recipes/04-pick-a-value.md L24 ↩

  21. openjevx @ v0.5.9 (ee2a1f4) · recipes/04-pick-a-value.md L48 ↩

  22. openjevx @ v0.5.9 (ee2a1f4) · recipes/05-check-a-claim.md L3 ↩

  23. openjevx @ v0.5.9 (ee2a1f4) · recipes/05-check-a-claim.md L24 ↩

  24. openjevx @ v0.5.9 (ee2a1f4) · recipes/05-check-a-claim.md L48 ↩

  25. openjevx @ v0.5.9 (ee2a1f4) · recipes/06-before-asking-a-or-b.md L3 ↩

  26. openjevx @ v0.5.9 (ee2a1f4) · recipes/06-before-asking-a-or-b.md L13 ↩

  27. openjevx @ v0.5.9 (ee2a1f4) · recipes/06-before-asking-a-or-b.md L37 ↩

  28. openjevx @ v0.5.9 (ee2a1f4) · recipes/07-is-this-command-dangerous.md L3 ↩

  29. openjevx @ v0.5.9 (ee2a1f4) · recipes/07-is-this-command-dangerous.md L13 ↩

  30. openjevx @ v0.5.9 (ee2a1f4) · recipes/07-is-this-command-dangerous.md L37 ↩

  31. openjevx @ v0.5.9 (ee2a1f4) · recipes/08-prompt-injection.md L3 ↩

  32. openjevx @ v0.5.9 (ee2a1f4) · recipes/08-prompt-injection.md L25 ↩

  33. openjevx @ v0.5.9 (ee2a1f4) · recipes/08-prompt-injection.md L49 ↩

  34. openjevx @ v0.5.9 (ee2a1f4) · recipes/09-which-file-first.md L3 ↩

  35. openjevx @ v0.5.9 (ee2a1f4) · recipes/09-which-file-first.md L26 ↩

  36. openjevx @ v0.5.9 (ee2a1f4) · recipes/09-which-file-first.md L52 ↩

  37. openjevx @ v0.5.9 (ee2a1f4) · recipes/10-flaky-or-real-bug.md L3 ↩

  38. openjevx @ v0.5.9 (ee2a1f4) · recipes/10-flaky-or-real-bug.md L24 ↩

  39. openjevx @ v0.5.9 (ee2a1f4) · recipes/10-flaky-or-real-bug.md L54 ↩

  40. openjevx @ v0.5.9 (ee2a1f4) · recipes/11-sort-review-comments.md L3 ↩

  41. openjevx @ v0.5.9 (ee2a1f4) · recipes/11-sort-review-comments.md L26 ↩

  42. openjevx @ v0.5.9 (ee2a1f4) · recipes/11-sort-review-comments.md L58 ↩

  43. openjevx @ v0.5.9 (ee2a1f4) · recipes/12-effort-level.md L3 ↩

  44. openjevx @ v0.5.9 (ee2a1f4) · recipes/12-effort-level.md L13 ↩

  45. openjevx @ v0.5.9 (ee2a1f4) · recipes/12-effort-level.md L37 ↩

  46. openjevx @ v0.5.9 (ee2a1f4) · recipes/13-question-or-instruction.md L3 ↩

  47. openjevx @ v0.5.9 (ee2a1f4) · recipes/13-question-or-instruction.md L13 ↩

  48. openjevx @ v0.5.9 (ee2a1f4) · recipes/13-question-or-instruction.md L37 ↩

  49. openjevx @ v0.5.9 (ee2a1f4) · recipes/14-secret-before-writing.md L3 ↩

  50. openjevx @ v0.5.9 (ee2a1f4) · recipes/14-secret-before-writing.md L13 ↩

  51. openjevx @ v0.5.9 (ee2a1f4) · recipes/14-secret-before-writing.md L37 ↩

  52. openjevx @ v0.5.9 (ee2a1f4) · recipes/15-did-the-build-succeed.md L3 ↩

  53. openjevx @ v0.5.9 (ee2a1f4) · recipes/15-did-the-build-succeed.md L13 ↩

  54. openjevx @ v0.5.9 (ee2a1f4) · recipes/15-did-the-build-succeed.md L37 ↩

  55. openjevx @ v0.5.9 (ee2a1f4) · recipes/16-which-tool.md L3 ↩

  56. openjevx @ v0.5.9 (ee2a1f4) · recipes/16-which-tool.md L13 ↩

  57. openjevx @ v0.5.9 (ee2a1f4) · recipes/16-which-tool.md L37 ↩

  58. openjevx @ v0.5.9 (ee2a1f4) · recipes/17-several-judgements.md L3 ↩

  59. openjevx @ v0.5.9 (ee2a1f4) · recipes/17-several-judgements.md L13 ↩

  60. openjevx @ v0.5.9 (ee2a1f4) · recipes/17-several-judgements.md L39 ↩

  61. openjevx @ v0.5.9 (ee2a1f4) · recipes/18-would-the-user-accept.md L3 ↩

  62. openjevx @ v0.5.9 (ee2a1f4) · recipes/18-would-the-user-accept.md L13 ↩

  63. openjevx @ v0.5.9 (ee2a1f4) · recipes/18-would-the-user-accept.md L42 ↩

  64. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L84–85 ↩

  65. openjevx @ v0.5.9 (ee2a1f4) · recipes/README.md L85 ↩

  66. openjevx @ v0.5.9 (ee2a1f4) · recipes/04-pick-a-value.md L44 ↩

  67. openjevx @ v0.5.9 (ee2a1f4) · recipes/14-secret-before-writing.md L33 ↩

  68. openjevx @ v0.5.9 (ee2a1f4) · recipes/15-did-the-build-succeed.md L33 ↩

  69. jevx @ 4a4722d (4a4722d) · core/plugin.go L49–50 ↩ ↩2

  70. jevx @ 4a4722d (4a4722d) · README.md L147 ↩

  71. jevx @ 4a4722d (4a4722d) · core/plugin.go L45 ↩

  72. jevx @ 4a4722d (4a4722d) · core/plugin.go L50 ↩

  73. jevx @ 4a4722d (4a4722d) · README.md L149–150 ↩

  74. jevx @ 4a4722d (4a4722d) · README.md L154–157 ↩