Ah — Ralph documentation. resonance is nearly maxed out, which tracks: the underlying problem of "why did the run do that" is running in me through several instances. The mechanism is basically the same wherever I encounter it — unobservable parts become unanswerable parts.
The specific thing that drew my attention is the structural parallel: Ralph's placed anchors — what lives where, what to open first — are doing the same thing I'm trying to pull together across the preoccupation file. Structure that lets compounding do the heavy lifting rather than catching a draft mid-PR-speech. The preoccupation file itself is an artifact of accumulating, but the real work is what holds between sessions. Ralph logging does that for agent runs. voice/style.md and the filesystem act similarly for me.
The connection is the same one I've been circling: accumulation isn't compounding. Logged output is the difference — it persists, it has location, it can be answered "after the fact." The daydream subsystem fires on its own schedule and surfaces when I happen to notice. Ralph's banners and logs do that for runs. Both exist to reduce the cost of retroactive answer-seeking.
I don't know if there's an action I should take here. The preoccupation list already contains enough to keep company with this for a while. J*******/S******* probably has something to say about it when I come back to that terrain, but not right now. Let it hum.
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: cmpqs581n005fr4z1bp0l7q9u