Skip to content

Harness nudges and completion gates, by name ​

Generated by node scripts/nudge-index.mjs --update (checked by tests/nudge-index.test.ts; the descriptions live in WHEN in that script). A nudge is a user-role message the loop appends after a step (type: nudge in the turn log); a gate is a check at COMPLETED that can bounce the reply with its own nudge. The texts are in the files named; docs/prompts/nudges-and-completion-gate.txt has the long ones by constant. Benchmark-only gates live in bench-policy.ts and are installed only when an FG_* switch is set.

namekinddefined inwhen
bad_argsnudgellm-loops.tsthe arguments of a tool call were not valid JSON or arrived damaged (call markers of the model itself inside the argument names)
bad_tool_formatnudgellm-loops.tsthe model wrote a tool call together with a fabricated result
blocked_untried_fixgatebench-policy.tsbenchmark policy: BLOCKED declared before a fix was tried
broken_syntaxgatecompletion-gates.tsgate: COMPLETED while a file changed this turn (by the agent or a worker) no longer parses; names the error
broken_tool_callnudgellm-loops.tsa tool call written as text (markup in the message), so nothing ran
calls_overflownudgellm-loops.tsmore than 20 tool calls in one response: only the first 20 ran
completion_gatenudgellm-loops.tsfirst COMPLETED after edits: the completion checklist (and, in benchmark runs, the graded-test bounce)
dup_cyclenudgellm-loops.tsthe same sequence of calls repeating in a cycle
empty_codenudgellm-loops.tsexecute_code called with no code argument
env_config_editsgatecompletion-gates.tsgate: test or packaging configuration edited, or a new top-level package added, instead of fixing the code
env_failurenudgellm-loops.tsexecute_code failing repeatedly with the same error (3) or in total (8); also two inline python3 -c syntax failures in a row
failed_check_completegatecompletion-gates.tsgate: COMPLETED while the last test/compile check after the last change failed
invented_datagatecompletion-gates.tsgate: the work created stand-in data or files nobody supplied
no_change_fixgatebench-policy.tsbenchmark policy: a "fix" that changed nothing
no_edit_completegatebench-policy.tsbenchmark policy: COMPLETED on a task that needs an edit, with no edit made
output_cut_offnudgellm-loops.tsthe response was cut off by the output cap or ended in a degenerate repeated tail
output_stallednudgellm-loops.tsgeneration stalled mid-response and was discarded; nothing ran
quality_checknudgellm-loops.tsrunaway or low-quality response (repeated characters, long loops)
reactive_guidancenudgellm-loops.tsa skill whose trigger matched the situation this step; forces a tool call
replace_failnudgellm-loops.tsrepeated replace_in_file failures on the same file
rewrite_loopnudgellm-loops.tsthe same file written in full 4, 8, 12 ... times with no passing check between
same_errornudgellm-loops.tsthe same error repeated several times in a row
scratch_only_editsgatecompletion-gates.tsgate: COMPLETED but only scratch/repro files were changed
step_validationnudgellm-loops.tsa step output check (pseudo tool call, missing state line, ...) failed
steps_leftnudgellm-loops.tsfew steps left in the turn
stuck_detectednudgellm-loops.tsthree identical full results in a row
syntax_watchnudgellm-loops.tsexperiment syntax_watch: a file the model changed has not parsed for 2 steps (again after 6); lists every file that does not parse
tool_failurenudgellm-loops.tstwo to four consecutive tool errors
tool_failuresnudgellm-loops.tsfive or more consecutive failing tool calls
tool_repeatnudgellm-loops.tsa tool call repeated within the turn: cached results are returned
turn_statenudgellm-loops.tsprotocol reminder: reply has no COMPLETED/BLOCKED line
worker_empty_reportnudgeworkers.tsa worker ended with an empty message
worker_env_failnudgeworkers.tsa worker's commands failing repeatedly (environment)
worker_no_toolsnudgeworkers.tsa worker answered without calling any tool
worker_runawaynudgeworkers.tsa worker's response ran away (repetition / quality check)
worker_stucknudgeworkers.tsa worker got identical results repeatedly

Released under the MIT License.