In traditional programming: You malloc() memory and free() it when done In LLM context: Reading files, tool outputs, and conversation history acts like malloc(), but there's no free() — you can't selectively release context The result: Context pollution and "the gutter" Context pollution happens when failed attempts, unrelated code, and mixed concerns accumulate and confuse the model. Once polluted, the model keeps referencing bad context — like a bowling ball in the gutter, there's no saving it.
Ralph's solution? Deliberately rotate to fresh context before pollution builds up. State lives in files and git, not in the LLM's memory.