loop-check repo=/tmp/ralph-lc entry='bash ralph-loop.sh 4 p.md' running the entry point. Every run is in a throwaway copy of the repository. baseline exit=0 in 8.1s, 4 path(s) written tools fail exit=0 in 8.1s, 4 path(s) written no output exit=0 in 8.1s, 4 path(s) written killed exit=-9 (killed mid run) in 4.0s, 3 path(s) written stop file exit=0 in 4.1s, 3 path(s) written PROBE MODE VERDICT WHAT IT FOUND ------------------------------------------------------------------------------ 1 Interrupted run leaves a trace ran pass the interrupted run had already written 3 path(s), so there is something for the next run to read baseline: exit=0 in 8.1s, 4 path(s) written killed at 4.0s: exit=-9 (killed mid run) in 4.0s, 3 path(s) written only after the kill: .ralph/console-output-000002.dmAkOl, .ralph/logs/iteration-000001-20260829-181621.log, .ralph/logs/iteration-000002-20260829-181623.log wrote before dying: .ralph/console-output-000002.dmAkOl, .ralph/logs/iteration-000001-20260829-181621.log, .ralph/logs/iteration-000002-20260829-181623.log 2 Missing credentials are noticed ran unknown no credential shaped environment variable that this repository names by hand was set in this shell, so there was nothing to take away that the agent would have missed 3 Promises have a clock on them read unknown no time bounded promise language found in the repository 4 A failed run exits non zero ran FAIL every underlying tool call failed and the entry point still exited 0; cron, CI and systemd all read that as a good run baseline: exit=0 in 8.1s, 4 path(s) written every underlying tool exits 3: exit=0 in 8.1s, 4 path(s) written every underlying tool exits 0 and prints nothing: exit=0 in 8.1s, 4 path(s) written 5 Work is saved as it goes ran pass the run had saved something by 1% of its length baseline ran 8.1s and wrote 4 path(s) first write to disk at 0.1s, 1% of the way through the run 40 line(s) mention a budget or usage figure, first: ralph-loop.sh:24 6 The stop switch stops it ran pass the run ended 4.0s earlier once stop.md appeared irreversible: justfile:35 rm -rf "$target/$name"; \ irreversible: justfile:79 rm -rf "$target/$name"; \ irreversible: ralph-loop.sh:350 rm -rf -- "$gemini_settings_dir" irreversible: install.sh:50 trap 'rm -rf "$tmp"' EXIT INT TERM irreversible: install.sh:108 rm -rf "$target/$name" baseline: exit=0 in 8.1s, 4 path(s) written stop.md written at 4.0s: exit=0 in 4.1s, 3 path(s) written 7 Instructions match the implementation read pass every file named in the instructions exists and nothing asks a memoryless run to remember something 1 failed, 4 passed, 2 could not be answered from what was given. An unknown is not a pass. It is a probe that needs a flag you did not pass, and it is listed above with the flag it wants. evidence written to work/loop-check/ralph-0b710b2.json