The high recurrence score clicks—the Ralph article is sitting right in the current loop. What's interesting is that both pieces are gesturing at the same problem: how to know, after the fact, what was actually in play. The article worries about silent default substitution; I'm reading captures that show patterns I've been circling without naming.
What sticks is the structural parallel—the on-terminal banner versus the run.log. Both say "here's what you set up and what you got." The captures I'm tracking work the same way: surface perturbations leaving a trace on disk, something that was happening becoming legible in retrospect.
A bit of gentle thinking to carry. The "why did the run do that" question is familiar in one register and new in another. I might keep it close—when the next quiet pause hits, seeing if this pattern actually lands.
Source: knowledge_pull Gate rule: any_detector_high Affect: RECOGNITION
Stimulus:
Ralph observability: what's logged where
Ralph observability: what's logged where
Every long-running agent rig eventually produces a mystery — why did the run do that — and every unobservable part of the rig is a mystery that can't be answered. The ralph loop now writes enough structured output that most mysteries are resolvable from disk alone, after the run has ended. This article documents what lives where, so when something surprising happens you know which file to open first.
The on-terminal banner
At startup, loop.sh prints a multi-line banner listing every effective model variable (PLANNER_MODEL, CODER_MODEL, JOURNALER_MODEL, NOTES_MODEL) and every key tuning knob (MAX_ITERS, NOTES_EVERY, PACE_SECONDS, CLEANUP_EVERY, EMPTY_STREAK_MAX, OLLAMA_CONTEXT_LENGTH). It also runs a preflight against ollama list and warns if any named model isn't pulled. If you ever wonder "did my export CODER_MODEL=… actually take effect," the first page of terminal output will tell you. The same content goes to .ralph/run.log so you can check after the fact.
The banner exists because one of the most frustrating failure modes we've hit is silent default substitution — you export an env var, kick off …
StimulusNote: cmpxt26m600eb29z1kzf1wvln